-4

これが重複しているように思われる場合は申し訳ありませんが、私が見つけた答えのどれも私の問題を解決していません.

次の計算があります。

 double NewTotal = 12.0 * (SumCopay + Premium);

SumCoPayとPremiumもダブルス。

私は次のように出力をフォーマットしようとしています:

 string.Format("{0:0.00}" , NewTotal.ToString())

しかし、「入力文字列の形式が正しくありませんでした」というエラーが表示されます。

トラブルシューティングのヒントは、「文字列を DateTime に変換するとき...」ということから始まります。

したがって、私の値は日付であると考えていると推測しています。

現在扱っているNewTotalの値は1100.4です

私も試しました:

 NewTotal.ToString("N2")

しかし、同じエラーが発生しました。

4

2 に答える 2

1

string.Formatダブルではなく、文字列を供給しているようです。

.ToString()から削除NewTotal.ToString()すると問題が解決すると思います。

于 2013-11-05T13:48:57.187 に答える
1

で使用しているフォーマッタはs にstring.Formatは適用されませんが、フォーマットする前にを aにstring変換しています。変数から を削除するだけで機能します。doublestring.ToString()NewTotal

string.Format("{0:0.00}" , NewTotal);

編集:VS2012でこのコードを起動したところ、完全に機能します:

using System;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            double SumCopay = 3.45;
            double Premium = 2.34;
            double NewTotal = 12.0 * (SumCopay + Premium);
            Console.WriteLine("{0:0.00}", NewTotal);
            Console.Read();
        }
    }
}
于 2013-11-05T13:47:29.087 に答える