zoukankan      html  css  js  c++  java
  • ToString("C2")转人民币金额时的相关问题

    我们常常会遇到将数字转换为金额字符串,方法很简单,比如:

     1 class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             double num = 123.456;
     6             string num1 = num.ToString("C2");
     7             Console.WriteLine(num1);
     8             Console.Read();
     9         }
    10     }
    View Code

    其中“C”是表示转金额,”2“是表示保留小数点后两位的精度。

    结果是

    但是,实际中我们写的程序,客户用的时候遇到了问题,就是在他们那,用同样的代码,结果却是:

    最后研究了一番,发现,ToString()方法有一个重载是 两个参数的,官方给的是:

     1 //
     2         // 摘要:
     3         //     使用指定的格式和区域性特定格式信息,将此实例的数值转换为它的等效字符串表示形式。
     4         //
     5         // 参数:
     6         //   format:
     7         //     一个数值格式字符串。
     8         //
     9         //   provider:
    10         //     一个提供区域性特定的格式设置信息的对象。
    11         //
    12         // 返回结果:
    13         //     此实例的值的字符串表示形式,由 format 和 provider 指定。
    14         [SecuritySafeCritical]
    15         public string ToString(string format, IFormatProvider provider);
    View Code

    所以,我们如果只给一个参数,第二个参数取本地默认的值,这个值和操作系统中某些参数设置有关系。如果我们可以给定第二个参数,就可以保证在任何操作系统中都转为人民币,改进后的代码是

     1 class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             double num = 123.456;
     6             string num1 = num.ToString("C2",CultureInfo.CreateSpecificCulture("zh-CN")));
     7             Console.WriteLine(num1);
     8             Console.Read();
     9         }
    10     }
    View Code

    这里给出几个常用的货币标志码:

    人民币:zh-CN

    美元:en-US

    法郎:fr-FR

    日元:ja-JP

    注:日元为羊字符 一横,人民币为两横:¥

    参考文档:http://msdn.microsoft.com/zh-cn/dynamics/dwhawy9k(v=vs.85)/ 

  • 相关阅读:
    几种常用的曲线
    0188. Best Time to Buy and Sell Stock IV (H)
    0074. Search a 2D Matrix (M)
    0189. Rotate Array (E)
    0148. Sort List (M)
    0859. Buddy Strings (E)
    0316. Remove Duplicate Letters (M)
    0452. Minimum Number of Arrows to Burst Balloons (M)
    0449. Serialize and Deserialize BST (M)
    0704. Binary Search (E)
  • 原文地址:https://www.cnblogs.com/zhangyongheng/p/4171130.html
Copyright © 2011-2022 走看看