我最近遇到了一个非常有趣的问题。我在网站上有以下代码,用于生成由10位数字组成的数字,后跟句点(。),后跟2到4位数字。我还使用gettext函数将页面翻译成另外两种不同的语言
<?php
$lang = "en_UK";
putenv("LC_ALL=$lang");
setlocale(LC_ALL, $lang);
bindtextdomain("messages", "locale");
bind_textdomain_codeset('messages', 'UTF-8');
textdomain("messages");
list($usec, $sec) = explode(" ",microtime());
$my_number = ((float)$usec + (float)$sec + (float)rand(1, 100000000));
?>
<form method ="POST" action="">
<input type="hidden" value="<?php echo $my_number; ?>"/>
<input type="submit"/>
</form>
到目前为止一切顺利。当$lang
等于 en_UK 时,我得到了我需要的东西(1234567891.1234)。
但如果$lang
等于 it_IT 或 de_DE ,则$my_number
会将格式更改为10位数,然后是 COMMA ,后跟2到4位数字(1234567891,1234)。
现在有人为什么会这样? 非常感谢:)