Converting Decimal to string with non-default format

前端 未结 4 1154
醉酒成梦
醉酒成梦 2021-01-07 20:36

I need to convert decimal to string, in this rulers:

120.00 - \"120\"
120.01 - \"120.01\"
120.50 - \"120.50\"
4条回答
  •  再見小時候
    2021-01-07 21:19

    There are different overloads for decimal.ToString based on what formatting you want.

    Example

    decimal d = 5.00
    Console.WriteLine(d.ToString("C")); // for currency
    

    See below for other overloads... specifier is what you put into the ToString(specifier)

    MSDN Documentation on Decimal.ToString

    decimal value = 16325.62m; string specifier;

    // Use standard numeric format specifiers.
    specifier = "G";
    Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
    // Displays:    G: 16325.62
    specifier = "C";
    Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
    // Displays:    C: $16,325.62
    specifier = "E04";
    Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
    // Displays:    E04: 1.6326E+004
    specifier = "F";
    Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
    // Displays:    F: 16325.62
    specifier = "N";
    Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
    // Displays:    N: 16,325.62
    specifier = "P";
    Console.WriteLine("{0}: {1}", specifier, (value/10000).ToString(specifier));
    // Displays:    P: 163.26 %
    
    // Use custom numeric format specifiers.
    specifier = "0,0.000";
    Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
    // Displays:    0,0.000: 16,325.620
    specifier = "#,#.00#;(#,#.00#)";
    Console.WriteLine("{0}: {1}", specifier, (value*-1).ToString(specifier));
    // Displays:    #,#.00#;(#,#.00#): (16,325.62)
    

提交回复
热议问题