什么是JS的确切等价物:PHP中的something.toFixed()
What is the exact equivalent of JS: something.toFixed() in PHP?
如果我在javascript中有a.toFixed(3);
('a'等于2.4232),那么php中检索它的确切等效命令是什么?我搜索了它,但没有找到答案后面的适当解释。
PHP 中完全相同的等效命令是函数 number_format:
number_format($a, 3, '.', ""); // 2.423
- 它将数字四舍五入到小数点后第三位
- 如果需要,它填充"0"字符以始终具有三个十进制数字
这是一个实用功能:
function toFixed($number, $decimals) {
return number_format($number, $decimals, '.', "");
}
toFixed($a, 3); // 2.423
你试过这个吗:
round(2.4232, 2);
这将给你一个 2.42 的答案。
更多信息可以在这里找到:http://php.net/manual/en/function.round.php
我发现sprintf
和number_format
都对数字进行了四舍五入,所以我使用了这个:
$number = 2.4232;
$decimals = 3;
$expo = pow(10,$decimals);
$number = intval($number*$expo)/$expo; // = 2423/100
直接等价物是sprintf('%.03F', $a)
。这会将相关值格式化为具有 3 个十进制数字的数字。如果需要,它也会四舍五入。
直接的解决方案是在 php 中使用是number_format()
number_format(2.4232, 3);
在PHP中,你可以使用一个名为round的函数。
这是翻译:
function toFixed($number, $dec_length){
$pos=strpos($number.'', ".");
if($pos>0){
$int_str=substr($number,0,$pos);
$dec_str=substr($number, $pos+1);
if(strlen($dec_str)>$dec_length){
return $int_str.($dec_length>0?'.':'').substr($dec_str, 0,$dec_length);
}else{
return $number;
}
}else{
return $number;
}
}
//toFixed(1234.678, 0) = 1234
//toFixed(1234.678, 1) = 1234.6
//toFixed(1234.678, 2) = 1234.67
//toFixed(1234.678, 4) = 1234.678
这个怎么样
function to_fixed($number, $decimals) {
return floatval(number_format($number, $decimals, '.', ""));
}
这样称呼它
to_fixed(2.4232, 3); // 2.423
相关文章:
- jquery中的PHP代码不起作用
- 使用javascript中的php变量创建XML
- Java脚本函数中的PHP(PCRE)验证
- javascript变量传递到map中的php
- 无法读取js中的php JSON编码数据
- 将javascript变量传递到同一php文件中的php变量
- 循环的Javascript中的PHP计数器
- AJAX 中的 PHP 代码到 POST
- JQuery load() 注入到 DIV 中的 PHP 文件能否找到有关此 DIV 的任何信息
- Javascript的“document.write()”中的PHP代码
- 无法从服务器中的 php 调用 Ajax 函数
- 获取JavaScriptvar的值并将其赋值's值转换为另一页中的PHP变量
- 如何使用正则表达式根据javascript中的php电子邮件注入验证电子邮件地址
- ColdFusion文件中的PHP变量值
- OnClick事件中的PHP脚本
- JavaScript 中的 PHP 用于转换跟踪
- JavaScript 中的 PHP 变量不会打印
- Jquery UI 自动完成中的 PHP 显示数组
- Spotify 应用程序中的 PHP 后端不起作用
- 如何将 JavaScript 变量传递给 JavaScript 函数中的 PHP 变量