标签: php
我正在尝试获取十进制数的小数。我试过遵循简单的代码,但循环运行永远。
$var = 123.456; $fraction_count = 0; echo $var, "<br>"; while (is_double($var)) { $var *= 10; $fraction_count++; echo $var, "<br>"; }
我是php的新手,请原谅我,如果这是一个愚蠢的问题!
答案 0 :(得分:1)
浮点数不易处理(有关详细信息,请参阅manual)。但你甚至不需要处理这个数字。
如果您将其视为字符串,则可以.上explode()并使用第二部分strlen()获取$fraction_count:
.
explode()
strlen()
$fraction_count
$var = 123.456; $parts = explode('.', $var); $fraction_count = strlen($parts[1]);
由于PHP不会在数字上保存尾随0,因此这也适用于123.4560,但请务必将其作为数字输入,"123.4560"会让您获得错误的结果。
0
123.4560
"123.4560"