减去字符串并转换为十进制而不四舍五入
Posted
技术标签:
【中文标题】减去字符串并转换为十进制而不四舍五入【英文标题】:Subtract string and convert to decimal without rounding 【发布时间】:2019-11-22 09:03:41 【问题描述】:我有一个数字声明
$barcode_scan = '220008100383005193';
我想要这样的输出0.519
。
我已经尝试过这段代码
number_format(substr($barcode_scan, -6), 0, '', '.');
但输出是5.193
。有什么帮助吗?谢谢
【问题讨论】:
为什么要脱掉'2200081003830',标准是什么? 这看起来非常像this 其他问题。 我不明白你的问题,但这是你想要的吗? 3v4l.org/HLpqi 因为 $barcode_scan 是来自产品的条形码。 $barcode_scan 的最后六个实际上是产品的重量。这就是为什么我想取消另一个号码 【参考方案1】:类似的东西是here。
在你的情况下,代码应该是下一个:
$barcode_scan = '220008100383005193';
echo floor(number_format(substr($barcode_scan, -6), 0, '', '.')*100)/1000;
Outputs:
0.519
【讨论】:
【参考方案2】:试试下面的代码
number_format(substr($barcode_scan, -6)/10000, 3)
或
number_format(substr($barcode_scan, -6)/10000, 3, '.', ',')
即小数点符号和千位分隔符冲突
【讨论】:
以上是关于减去字符串并转换为十进制而不四舍五入的主要内容,如果未能解决你的问题,请参考以下文章