在较长的数字之间添加逗号[重复]
Posted
技术标签:
【中文标题】在较长的数字之间添加逗号[重复]【英文标题】:Adding comma between longer numbers [duplicate] 【发布时间】:2013-06-01 05:13:55 【问题描述】:我正在尝试自动将逗号放在长数字之间,但到目前为止没有成功。我可能犯了一个非常简单的错误,但到目前为止我无法弄清楚。这是我目前拥有的代码,但由于某种原因,我得到了 123456789 作为输出。
string s = "123456789";
string.Format("0:#,###0", s);
MessageBox.Show(s); // Needs to output 123,456,789
【问题讨论】:
您缺少
,但也可以将N
用于一般数字格式。此外,您的输入是字符串,而不是数字。
如果您查看格式字符串中的每个字符,您能告诉我每个字符的作用吗?
我认为你需要先添加一个大括号。
我不知道发生了什么,但删除括号不是解决方案。
它已经发布了,这里有几个links 和here 我相信它会有所帮助
【参考方案1】:
var input = 123456789;
// these two lines amount to the same thing
Console.WriteLine(input.ToString("N0"));
Console.WriteLine(string.Format("0:N0", input));
如果根据您的问题,您需要以string
开头:
var stringInput = "123456789";
var input = int.Parse(stringInput);
// these two lines amount to the same thing
Console.WriteLine(input.ToString("N0"));
Console.WriteLine(string.Format("0:N0", input));
在解析/格式化时,您可能还需要考虑文化。查看采用IFormatProvider
的重载。
【讨论】:
【参考方案2】:试试这个:
string value = string.Format("0:#,###0", 123456789);
在您的代码中,您缺少格式字符串中的初始 ,然后数字格式选项适用于数字,而您的
s
是一个字符串。
您可以使用int.Parse
将字符串转换为数字:
int s = int.Parse("123456789");
string value = string.Format("0:#,###0", 123456789);
MessageBox.Show(value);
【讨论】:
【参考方案3】:这应该可行(您需要传递 String.Format()
一个数字,而不是另一个 String
):
Int32 i = 123456789;
String s = String.Format("0:#,###0", i);
MessageBox.Show(s);
但请考虑您正在使用的格式字符串...正如其他人所建议的那样,有更简洁的选项可用。
【讨论】:
这行得通。输入总是一个字符串,因为它需要从外部源加载。我将其转换为 Int32,使用您的代码,然后将其转换回字符串。这行得通。我会尽量让它更干净,但仍然非常感谢您的帮助!【参考方案4】:查看 MSDN 上的数字格式信息:Standard Numeric Format Strings,或可选地查看自定义格式字符串:Custom Numeric Format Strings。
对于自定义数字格式:
“,”字符既用作组分隔符又用作数字缩放说明符。
double value = 1234567890;
Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture));
// Displays 1,234,567,890
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture));
// Displays 1,235
【讨论】:
【参考方案5】:你的代码有很多错误,很难描述每一个细节。
看这个例子:
namespace ConsoleApplication1
using System;
public class Program
public static void Main()
const int Number = 123456789;
var formatted = string.Format("0:#,###0", Number);
Console.WriteLine(formatted);
Console.ReadLine();
【讨论】:
以上是关于在较长的数字之间添加逗号[重复]的主要内容,如果未能解决你的问题,请参考以下文章
jQuery:我可以在较长的 $.ajax 请求待处理时发送和接收 $.ajax 响应吗?
如何在随机生成的数字中添加逗号 C# winforms [重复]