【发布时间】:2010-06-08 11:11:13
【问题描述】:
当我尝试投射时
$value = floatval('14,5833');
对于float 类型,我希望得到一个带有点的值,例如14.5833,但它返回给我14,5833。
我应该怎么做?
我不想使用任何字符串替换函数。
【问题讨论】:
标签: php casting floating-point
当我尝试投射时
$value = floatval('14,5833');
对于float 类型,我希望得到一个带有点的值,例如14.5833,但它返回给我14,5833。
我应该怎么做?
我不想使用任何字符串替换函数。
【问题讨论】:
标签: php casting floating-point
一个例子对我有帮助:
<?php
setlocale(LC_NUMERIC, 'en_US');
echo 1.234; // 1.234
setlocale(LC_NUMERIC, 'et_EE.UTF-8');
echo 1.234; // 1,234
echo number_format( 1.234, 2, '.', '' ); // 1.23
?>
【讨论】:
number_format() 会将值四舍五入。所以像 2.3456 这样的东西将被格式化为 2.35 而不是 2.34
PHP 5.5.9-1ubuntu4.11的 ubuntu 14.04 时总是 1.234@
$ sudo apt-get install language-pack-et-base。
你有两个选择:
【讨论】:
从localeconv和setlocale检查decimal_point
【讨论】: