0

从我的数据库中,我得到一个小数点,例如 25.30。

在 PHP 中,我将这样的小数乘以 25.30 * 6。结果是 151,8,但带有逗号。

问题是结果给我一个逗号而不是像 151.8 这样的点。

有没有办法解决这个问题并得到一个点的结果?

4

2 回答 2

2

尝试var_dump(localeconv());,您可能会看到decimal_point关键是,(如果 PHP5.3>=)尝试locale_set_default('en_US');或使用(不推荐使用的)setlocale函数setlocale

setlocale(LC_NUMERIC, 'en_US');
//or custom:
$locale = localeconv();
$locale['decimal_point'] = '.';
$setlocale(LC_ALL, $locale);

有关Locale课程的更多详细信息,请参见使用获取
的其他方法。setlocalelocaleconv

一个骇人听闻的快速修复也可能是:

$formatted = sprintf('%.1f',25.30 * 6);

但我建议您设置应该设置的语言环境。另请注意,在 Windows 上,setlocale(LC_ALL)使用系统区域设置,如文档中所述:

在 Windows 上, setlocale(LC_ALL, '') 从系统的区域/语言设置(可通过控制面板访问)设置区域设置名称。

于 2013-06-19T09:37:12.743 回答
2

你想格式化你的号码。从手册

string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

因此,例如,在您的情况下,这将是:

print number_format($number, 1, '.', ',');
于 2013-06-19T09:19:07.867 回答