我有以下问题,如何在乘法后将其作为字符串显示为0.00004?
$v = -0.00004;
$v = $v * -1;
echo $v; // 4.0E-5
长篇故事
因此我需要保存到MySQL数据库,但没有问题,因为我使用下面的查询:
$sql_insert = $conn->prepare("insert into tbl_transaction (amount) values ($v)");
但是当我输出到我的HTML时,显示4.0E-5
。我尝试使用number_format,但在某些情况下,小数将远远超过这个,所以它不是一个选择。
答案 0 :(得分:0)
试试这个。
echo sprintf('%f', $v);
或者:
$b = sprintf('%f', $v);
echo $b;
答案 1 :(得分:0)
您可以尝试以下方式。
$v = -0.00004;
$v = $v * -1;
echo number_format($v, 5);
希望这会有所帮助。
答案 2 :(得分:0)
在使用所需精度格式化数字后,您需要去除尾随零。
这应该可以解决问题:
$v = -0.00004;
$v = number_format($v * -1, 20);
print rtrim($v, 0);
答案 3 :(得分:0)
如果您在第一次分配后<style>
.link {
color: blue;
font-size: 30px;
}
</style>
<a href="abc123.com" class="link">Submit</a>
,您会看到“问题”不是计算。
var_dump($v)
number_format()可用于返回值的格式化版本。您可以获取字符串值的长度,并将其传递给number_format。
$v = -0.00004;
var_dump($v); //float(-4.0E-5)
所以,你的代码是:
var_dump(number_format($v,strlen(strval($v)))); // string(10) "-0.0000400"
在您准备好显示值之前,您不需要使用number_format,因为指数数字与格式化/十进制数字的值相同。