mysqlテーブルには2種類の数値(FLOATとBIGINT)があります。
A:0.002
B:51443234
「。」を置き換える必要があります。数字に「、」を付けて、number_formatで実行できます
foreach ($row as $key => $val) {
if (is_numeric($val)) {
$row[$key] = number_format($val,'3', ',', '.'); }
}
}
新しい形式は次のとおりです。
A:0,002
B:51.443.234,000
しかし、数値Bの末尾のゼロは必要ないので、FLOAT値とBIGINT値を別々にフォーマットしようとします。
foreach ($row as $key => $val) {
if (is_numeric($val)) {
if (is_float($val)) {
$row[$key] = number_format($val,'3', ',', '.'); }
else {
$row[$key] = number_format($val,'0', ',', '.'); }
}
}
しかし、これは機能しません。
問題がどこにあるのか、値を文字列に変換せずに実行できるかどうかはわかりません。
(文字列に変換することのデメリットもわかりません。)
正しいアプローチを教えていただけますか?ありがとうございました。