ホームページ >バックエンド開発 >C++ >文字列の書式設定により、価格表示の小数点以下の精度をどのように制御できますか?

文字列の書式設定により、価格表示の小数点以下の精度をどのように制御できますか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-16 13:07:58434ブラウズ

How Can String Formatting Control Decimal Precision in Price Displays?

文字列フォーマットによる正確な価格フォーマット

プログラマーは、数値データ、特に価格を、制御された小数点以下の桁数などの特定の書式設定で表示する必要があることがよくあります。文字列の書式設定は、プレースホルダーを使用した柔軟なソリューションを提供します。

次の一般的な価格表示要件を考慮してください:

  • 整数: 小数部のない価格 (例: 100) は、整数 (100) として表示されます。
  • 10 進数値: 小数部分を含む価格 (例: 100.99) は、小数点以下 2 桁 (100.99) まで表示されます。

単純な文字列フォーマットのアプローチでは、両方のケースを完全に処理できない場合があります。 ただし、プレースホルダーを慎重に選択し、条件付きロジックを使用することで、この精度を実現できます。

整数の場合、書式文字列「{0:0.##}」が効果的に機能します。 「0」は必須の整数を表し、「#」はオプションの 10 進数を表します。 これにより、小数点のない値が整数として表示されます。

小数点以下の桁がある数値の場合、条件付き書式設定は動的な解決策を提供します。 C# では、三項演算子を使用して、数値に小数部があるかどうかに基づいて適切な書式文字列を選択できます。 その場合、「{0:0.00}」(小数点以下 2 桁)が使用されます。それ以外の場合は、「{0:0}」(整数形式)が適用されます。

あるいは、簡潔なメソッドは小数部分の存在を直接チェックします。

<code class="language-csharp">double price = 123.46;
string priceString = price % 1 == 0 ? price.ToString("0") : price.ToString("0.00");</code>

このコードは、モジュロ演算子 (%) を使用して、価格が整数かどうかを確認します。 1 で割った余りが 0 の場合、それは整数であり、「0」としてフォーマットされます。それ以外の場合は、「0.00」を使用して小数点以下 2 桁でフォーマットされます。 これにより、両方のシナリオを処理するクリーンかつ効率的な方法が提供されます。

以上が文字列の書式設定により、価格表示の小数点以下の精度をどのように制御できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。