c# - 如何在单行中将逗号转换为句号,将句号转换为逗号

标签 c# c#-4.0

我有一个像这样的数字 12,345,678.09 我想将其转换为 12.345.678,09 我正在考虑用 . 拆分字符串并将字符串中的逗号更改为句点,然后用逗号连接它们。

string value = "12,345,678.09";
string[] parts = value.Split(new char[]{'.'});
string wholeNumber = parts[0].Replace(",", ".");
string result = String.Format("{0},{1}", wholeNumber, parts[1]);

我觉得这个方法很笨拙。有什么更好的方法吗?

最佳答案

执行此操作的正确方法(正确而不是字符串混合)是使用 CultureInfo 作为您要格式化的区域性。看起来你在追求意大利文化it-IT:

var num = 123456789.01;
var ci = new CultureInfo("it-IT");
Console.WriteLine(num.ToString("#,##0.00",ci)); //output 123.456.789,01

实例:http://rextester.com/ARWF39685

请注意,在格式字符串中,您使用 , 表示“数字组分隔符”,使用 . 表示“小数分隔符”,但文化信息将其替换为正确的文化分隔符 - 就意大利文化而言,它们完全相反( 是组分隔符, 是小数点分隔符)。

关于c# - 如何在单行中将逗号转换为句号,将句号转换为逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281293/

相关文章:

c# - SQLiteException-SQLite错误提供给命令的参数不足

c# - Azure AD AcquireToken 不适用于应用程序密码

c#-4.0 - 我们如何使用 ShellTileSchedule 以 5 分钟的间隔更新 Windows Phone 8 Flip Tile 背面图像?

c#-4.0 - 如何获取Windows Phone7应用程序中访问文件和文件夹的独立存储路径?

c# - MySql 上的 Entity Framework 4.4.0 代码优先迁移不断将 dbo 添加到新表

c# - 如何在 C# 中使用 dlib 库

c# - 使用 JsonConvert C# 解析 json 字符串

oracle - 使用 EF4 将 Int32 转换为 Oracle number(5)

c# - 根据不同的标签页选择隐藏或显示文本框

c# - 创建 WCF ChannelFactory<T>