【问题标题】:How to truncate number 3 decimals [duplicate]如何截断数字 3 小数[重复]
【发布时间】:2017-03-18 00:20:32
【问题描述】:

我想用 php 截断小数点后 3 位的数字:

3.236665   3.236
3.236111   3.236

谢谢

【问题讨论】:

  • round(3.236665, 3) === 3.237.
  • 错了,我不想四舍五入而是截断它
  • 试试这个人,$value = explode('.',$value*1000)[0] / 1000;如果您希望它是浮动的,只需解析为浮动即可。
  • 顺便说一句,这不是@Rizier123 建议的重复问题。绝对是一个单独的案例。也许在采取行动之前先了解情况。

标签: php numbers


【解决方案1】:

要截断最多p 小数的数字,请将数字乘以 10 的 p 次方,通过强制转换为整数来截断小数,然后将结果除以 10 的 p 次方。

以下内容将$n 截断至小数点后第三位:

intval($n * 1e3) / 1e3;

【讨论】:

  • 我想说这个解决方案大部分是准确的,但也有结果错误的例外情况。示例:如果 $n = 1.005, int ($n * 1e3) = 1004 而不是 1005 由于浮点近似
猜你喜欢
  • 2018-04-12
  • 2019-04-23
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
相关资源
最近更新 更多