带有昏迷的投射弦以浮点

hsz*_*hsz 1 php floating-point casting

当我试图施放

$value = floatval('14,5833');
Run Code Online (Sandbox Code Playgroud)

到一个float类型我期望一个像点的值,14.5833但它返回我14,5833.

我该怎么做?

我不想使用任何字符串替换函数.

小智 6

一个例子对我有帮助:

<?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 
?>
Run Code Online (Sandbox Code Playgroud)


小智 5

您有两个选择:

  • 将语言环境设置为使用点而不是逗号的内容。例如 setLocale(LC_ALL, 'fr_BE.UTF-8');
  • 内部继续使用逗号,当你想输出该数字时,使用number_format