b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

PHP将科学计数法转换为普通数

电脑杂谈  发布时间:2020-05-14 21:17:09  来源:网络整理

php string转int_php 科学计数法 转 string_php int转string

每天php 科学计数法 转 string,我们都会遇到一些怪异的错误,然后遇到数字成为科学计数法的问题. 问题源于当前输出的数字太大而无法保存的事实. 例如

回声14735037137891444444;

回声0.00000000000000000000000000001;

然后输出为:

1.4735037137891E+19
1.0E-29

这种情况也很普遍,但是是由于数字太大或太小,然后的存储字段直接是一个字符串,结果出现了各种魔术问题.

然后,我在Internet上发现了同样神奇的功能. 它起作用了,但是到处都是空洞. 然后我自己写了它,逻辑有点复杂,但是它不涉及数字运算,因此应该保证准确性.

<? php

/ **

*将数字从科学计数法转换为普通数

*为了完善数字处理,可以使用一些正则化

* @author loveyu

* @param字符串$号

php string转int_php int转string_php 科学计数法 转 string

* @返回字符串

* /

函数convert_scientific_number_to_normal($数字)

{

if(stripos($ number,'e')=== false){

//判断是否为科学计数法

返回$号;

}

if(!preg_match(

“ / ^([\\ d. ] +)[eE]([\\ d \\-\\ +] +)$ /”,

str_replace(数组(“”,“,”),“”,修剪($数字)),$个匹配项)

){

//以科学计数法提取有效数据,如果无法处理则直接返回

php int转string_php 科学计数法 转 string_php string转int

返回$号;

}

//处理数字前后的0和点以防止数据干扰. 实际上,正确的科学计数方法没有这个问题

$ data = preg_replace(数组(“ / ^ [0] + /”),“”,rtrim($匹配[1],“ 0. ”));

$ length =(int)$匹配[2];

if($ data [0] ==“. ”){

//由于第一个0可能会被替换,因此这里是要填充0的小数位

$ data =“ 0 {$ data}”;

}

//这里有一种特殊的可能性,无需处理

if($ length == 0){

返回$数据;

}

php string转int_php 科学计数法 转 string_php int转string

//记住当前小数点的位置,用于判断左右移动

$ dot_position = strpos($数据,“. ”);

if($ dot_position === false){

$ dot_position = strlen($数据);

}

//不需要用于正式数据处理,它将在最终输出时添加

$ data = str_replace(“. ”,“”,$ data);

if($ length> 0){

//如果科学计数长度大于0

//获取要添加的0数,并在数据之后添加

$ repeat_length = $ length-(strlen($ data)-$ dot_position);

if($ repeat_length> 0){

$个数据. = str_repeat('0'php 科学计数法 转 string,$ repeat_length);

php 科学计数法 转 string_php int转string_php string转int

}

//小数点后移n位

$ dot_position + = $长度;

$ data = ltrim(substr($ data,0,$ dot_position),“ 0”). “. ”. substr($ data,$ dot_position);

} elseif($长度<0){

//当前为负数

//获取要重复的0数

$ repeat_length = abs($长度)-$ dot_position;

if($ repeat_length> 0){

//此处的值可能小于0,因为小数点太长

$ data = str_repeat('0',$ repeat_length). $数据;

}

$ dot_position + = $长度; //这里的length是一个负数,请直接操作

if($ dot_position <1){


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-210271-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 王幸侠
        王幸侠

        你是怎么算出来这结果的

        • 高超
          高超

          老成持重并不优于年轻热血

      • 西城秀树
        西城秀树

        以贩毒罪判处终生监禁

      热点图片
      拼命载入中...