[解決済み] 文化に関係なく、小数点の桁数を求める。
2022-11-03 10:46:05
質問
異なるカルチャーの情報間で安全に使用できる、小数点の値の小数点以下の桁数を(intとして)引き出す簡潔で正確な方法はあるのでしょうか?
たとえば
19.0は1を返すはずです。
27.5999 は 4 を返すべきです。
19.12は2を返すはずです。
などとなります。
ピリオドで文字列分割して小数点以下を探すクエリを書きました。
int priceDecimalPlaces = price.ToString().Split('.').Count() > 1
? price.ToString().Split('.').ToList().ElementAt(1).Length
: 0;
しかし、これは小数点の区切り文字として '.' を使用する地域でのみ動作し、したがって異なるシステム間で非常に脆弱であることを思いつきました。
どのように解決するのですか?
私は ジョーの方法 を使って解決しました :)
decimal argument = 123.456m;
int count = BitConverter.GetBytes(decimal.GetBits(argument)[3])[2];
関連
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] 関数を終了するには?
-
[解決済み】WebResource.axdとは何ですか?