[解決済み] カンマを小数点とする数値をfloatに変換する
2023-05-19 18:22:54
質問
コンマを小数点に、ドットを千の区切り文字にした価格表があります。
いくつかの例を挙げます。
12,30
116,10
1.563,14
これらはサードパーティからこのフォーマットで提供されています。これをfloatに変換して足し算したいのですが。
これを行うための最良の方法は何でしょうか? number_format はこのフォーマットでは動作しないようですし str_replace は各数値に一回以上実行しなければならないので、やりすぎのように思えます。
もっと良い方法はないでしょうか?ありがとうございます。
どのように解決するのですか?
使用方法
str_replace()
を使ってドットを消すのはやりすぎではありません。
$string_number = '1.512.523,55';
// NOTE: You don't really have to use floatval() here, it's just to prove that it's a legitimate float value.
$number = floatval(str_replace(',', '.', str_replace('.', '', $string_number)));
// At this point, $number is a "natural" float.
print $number;
これは、ほぼ間違いなく、最もCPU負荷の低い方法です。また、これを行うために何か凝った関数を使用したとしても、その関数の内部ではこのようなことが行われている可能性が高いです。
関連
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで浮動小数点数の精度を扱うには?
-
[解決済み] 浮動小数点数の範囲内で乱数を取得するには?
-
[解決済み] javascriptで小数点以下2桁の浮動小数点を解析する方法は?
-
[解決済み】常に小数点以下2桁を表示する数値の書式設定
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み] SAJAXは死んだか?何を置き換えるべきか?
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み] php5パッケージのインストール候補がない (Ubuntu 16.04)
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み] [Solved] Fatal error: 非オブジェクトのメンバ関数fetch_assoc()の呼び出し [重複]。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。