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

 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)/

转载于:https://www.cnblogs.com/zhangyongheng/p/4171130.html

ToString(C2)转人民币金额时的相关问题相关推荐

  1. 在Excel中将人民币金额小写转成大写(转)

    在Excel中将人民币金额小写转成大写(转)[@more@] Excel中要将人民币小写金额转换成大写格式,将自定义格式类型中的"G/通用格式"改为"G/通用格式&quo ...

  2. 【解决方案 二十三】带单位的数值转大写人民币金额

    最近接到一个任务,要去把普通的数值带着单位转大写人民币金额,例如:5.2 万元 转为大写:伍万贰仟元,这其中可以拆解为两个任务,一个是数值转人民币大写,还有一个就是把单位体现进来,为了解耦合,我决定把 ...

  3. Excel中将人民币金额小写转成大写(转)

    Excel中将人民币金额小写转成大写(转) Excel中要将人民币小写金额转换成大写格式,将自定义格式类型中的"G/通用格式"改为"G/通用格式"元" ...

  4. C#人民币金额大小写转换

    C#人民币金额大小写转换 在财务相关的软件的时候,常常设计到大小写金额的转换,小编整理了自己常用的数字金额大小写转换的方法代码 给大家参考如下: /// <summary> /// 金额小 ...

  5. php金额类,PHP类-人民币金额转大写

    这篇文章介绍的内容是关于PHP类-人民币金额转大写,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下<?php //人民币金额转大写程序PHP版 class Ext_Num2Cny{ ...

  6. 将15位数字转换成人民币金额

    直接上代码,每个步骤都有注释.难点在零的处理上. # 用字典变量x来保存0~9,和中文大写 x = {0:'零', 1:'壹', 2:'贰', 3:'叁', 4:'肆', 5:'伍', 6:'陆', ...

  7. 人民币金额打印,将金额数字转换为汉字描述。

    人命币金额打印 题目描述 思路解析 完整代码 题目描述 题目描述: 银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序. 在中文大写方式中,0到10以 ...

  8. 【每日一题D16】人民币金额打印

    银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序. 在中文大写方式中,0到10以及100.1000.10000被依次表示为: 零 壹 贰 叁 肆 伍 ...

  9. 腾讯微博API时间线相关接口返回的微博信息中head值使用问题

    腾讯微博API时间线相关接口返回的微博信息中head值表示作者头像url,这个链接直接访问并不能使用,需要再附加一个参数指定图片的大小(100.50),比如:[head]/100.

最新文章

  1. 崔希凡javaWeb笔记day01~day03(2016年5月20日20:33:54)
  2. 第12章:项目采购管理-章节真题
  3. 判断点是否处于多边形内的三种方法(转)
  4. 让产品经理GC的文本段落两端对齐css
  5. 通信 / HTTP / 什么是 REST 接口
  6. html里span和div,HTML div和span
  7. Sugar Bytes WOW2 for Mac - 多功能滤波效果器
  8. Apache Mina框架自身实现的过滤器
  9. 微信小程序—使用阿里巴巴iconfont矢量图标素材
  10. 5G无线技术基础自学系列 | 传统无线网络架构
  11. 数据结构基础知识——非线性数据结构(二叉树、二叉排序树、优先队列、散列表)
  12. AIX补丁中TL、SP、CSP、IF、PTF的含义
  13. 嵌入式编程与软件编程思想不同浅见
  14. 用python画卡通人物的画法_教你绘制扁平化风格的卡通人物肖像
  15. Java API连接Kerberos认证的HBASE
  16. 淘特(淘宝特价版)关键词搜索
  17. 个人域名和企业域名的区别
  18. 我为什么要写Sinon.JS
  19. Docker学习--Docker镜像的管理操作
  20. 小程序性能优化之页面预加载方案——让你的小程序运行如飞 进阶篇

热门文章

  1. 关于axios拿取后端hashMap存的值
  2. c语言函数man,Linux下C语言编程有困难找man
  3. cvpr 注意力机制_视频人员重识别:关系引导空间注意力 + 时间特征提取模型
  4. python函数的使用方法_Python函数使用
  5. php随机访问文章,zblog PHP调用热门文章、随机文章和热评文章代码
  6. java getselectedrow_Java Swing实现展示数据,以及过滤排序
  7. SpringBoot配置文件加密
  8. mysql alter table_mysql alter table 修改表命令详细介绍
  9. 愤怒的小鸟的html制作,如何做html5山寨版愤怒的小鸟
  10. linux查询用过的历史命令,在linux中,怎麼查看系统的版本,怎麼查看自己用过的历史命令...