11
float f = 0.479f;
Console.WriteLine(f.ToString("p1"));

出力: 47.9 %

次のような出力のパーセント記号を削除するには、ToString() に何を渡す必要がありますか。

47.9

編集。マスクをサードパーティのコンポーネントに渡していることを言及する必要がありました。残念ながら、数字でアクロバットを行うことはできません。トリックを行うのはマスクでなければなりません。

4

4 に答える 4

11

マスクをサードパーティのコンポーネントに渡していることを言及する必要がありました。残念ながら、数字でアクロバットを行うことはできません。トリックを行うのはマスクでなければなりません。

だから私はあなたが立ち往生していると仮定し、あなたはFloat.ToString(String)編集することしかできp1ないf.ToString("p1"). これは難しい問題です。暗示されている変更に関連するものを壊すことを恐れていない場合は、次のことを行うことができます。

「P」数値形式は、MSDNNumericFormatInfo.PercentSymbolで文書化されているように、「%」記号を記述するために使用されます。NumericFormatInfoは現在の のメンバーですCultureInfo。あなたができることは、あなたCurrentCultureのを複製し、PercentSymbolを""次のように変更することです:

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            float f = 0.479f;
            Console.WriteLine(f.ToString("p1")); //will write 47.9%

            CultureInfo ci = CultureInfo.CurrentCulture.Clone() as CultureInfo;
            ci.NumberFormat.PercentSymbol = "";            

            System.Threading.Thread.CurrentThread.CurrentCulture = ci;
            Console.WriteLine(f.ToString("p1")); //will write 47.9

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

        }
    }

ToString 呼び出しを変更したくない場合は、これが適しています。

于 2010-01-16T03:21:22.790 に答える
5
Console.WriteLine((f * 100).ToString("0.0"));
于 2010-01-16T01:29:28.353 に答える
2

試すことができました

Console.WriteLine(f.ToString("p1").Replace('%',' '));

または、スペースが必要ない場合は、Replace('%','\0')

編集:メソッドしか使用できない場合はToString()、オブジェクトを作成しNumberFormatInfo、パーセント記号を空白に設定してメソッドに渡すことができます。(名前空間NumberFormatInfoにあります)例System.Globalization

    NumberFormatInfo myNewFormat = new NumberFormatInfo();
    myNewFormat.PercentSymbol = "";

    float f = 0.479f;

    Console.WriteLine(f.ToString("p1",myNewFormat));
于 2010-01-16T01:29:17.497 に答える
2

以下だけではどうでしょうか。

Console.WriteLine((f * 100).ToString("F1"));

例 f = 0.4792 --> "47.9"

標準の数値形式のリストと説明は、こちらの MSDNで入手できます。

于 2010-01-16T01:31:47.880 に答える