我想用php显示一个小数点后有30位的数字,而不将其四舍五入为纳米货币,有人知道吗?

我想用php显示一个小数点后有30位的数字,而不将其四舍五入为纳米货币,有人知道吗?,php,currency,bitcoin,nano,Php,Currency,Bitcoin,Nano,例如,如果我有一个数字 $x = 340282366920938430000000000000000000000; 我希望输出为 340282366.92093而非340282366.92094 也适用于类似的数字 $y = 23000000000; 我希望输出是 0.0000000000000 23使用字符串强制转换 返回 340282366.92093843 您需要做的是将RAW转换为megaNano。我开发了这个解决方案,它只是将值作为字符串处理,但它是在JS中。我希望这可以帮助你的

例如,如果我有一个数字

$x = 340282366920938430000000000000000000000;
我希望输出为 340282366.92093而非340282366.92094 也适用于类似的数字

$y = 23000000000;
我希望输出是 0.0000000000000 23

使用字符串强制转换

返回

340282366.92093843

您需要做的是将RAW转换为megaNano。我开发了这个解决方案,它只是将值作为字符串处理,但它是在JS中。我希望这可以帮助你的项目与纳米

函数toMegaNano(raws){
raws=raws.toString()
让megaNano
如果(raws==“0”)返回“0”
如果((图纸长度-30)>0){
megaNano=raws.substr(0,raws.length-30)
分数=原始子序列(原始长度-30,原始长度-(原始长度-30))
如果(分数.length&&parseInt(分数)!=0)megaNano+='.'+分数
}否则{
megaNano=“0”。+“0”。重复(30-raws.length)+raws
}
而(megaNano[megaNano.length-1]=='0'){
megaNano=megaNano.substr(0,megaNano.length-1)
}
返回megaNano
}
const raws=“340282366920938430000000000000000”
常数mNano=toMegaNano(raws)
console.log(raws+“raws=“+mNano+“mNano”)
340282366.92093843