C# 格式化十进制类型而不返回字符串
我有一个要格式化的十进制值,如果我以这种方式使用,它将正常工作:C# 格式化十进制类型而不返回字符串,c#,asp.net-core,C#,Asp.net Core,我有一个要格式化的十进制值,如果我以这种方式使用,它将正常工作: > string s = "30260649.49"; > string result = decimal.Parse(s).ToString("N"); 它返回“30.260.649,49” 但我需要十进制类型的返回,类似这样: > decimal d = decimal.Parse(s).ToString("N"); 我该怎么做?答案已经在问题中了 要获取小数,请不要使用ToString将其转换回字符串
> string s = "30260649.49";
> string result = decimal.Parse(s).ToString("N");
它返回“30.260.649,49”
但我需要十进制类型的返回,类似这样:
> decimal d = decimal.Parse(s).ToString("N");
我该怎么做?答案已经在问题中了 要获取小数,请不要使用
ToString
将其转换回字符串:
decimal d = decimal.Parse(s);
decimal
没有格式,它只是一个二进制值,就像int
答案已经在问题中了
要获取小数,请不要使用ToString
将其转换回字符串:
decimal d = decimal.Parse(s);
decimal
没有格式,它只是一个二进制值,就像int
数字在C#中没有格式一样。你能解释一下你想做什么吗?它只是decimald=decimal.Parse(s)。为什么要尝试转换回字符串?@Panagiotis OP声明decimal.Parse
返回一个值,因此似乎解析不是问题所在。我认为问题在于显示。要使用特定区域性格式化字符串,还需要使用CultureInfo。例如,myNumber.ToString(“N2”,新文化信息(“it”))
。如果未指定区域性,则使用web应用程序的区域性。@CetinBasoz数字在C#中没有格式。你能解释一下你想做什么吗?它只是decimald=decimal.Parse(s)。为什么要尝试转换回字符串?@Panagiotis OP声明decimal.Parse
返回一个值,因此似乎解析不是问题所在。我认为问题在于显示。要使用特定区域性格式化字符串,还需要使用CultureInfo。例如,myNumber.ToString(“N2”,新文化信息(“it”))
。如果不指定区域性,则使用web应用程序的区域性。@CetinBasoz问题是:“格式化十进制类型而不返回字符串”
,答案是十进制没有字符串format@maccettura因此,解决方法就是不调用ToString()
。这不是一个坏答案。它只需要一小部分fix@maccettura,这就是答案。@PanagiotisKanavos,但这不是答案。OP似乎觉得decimal
有一种格式,他们正试图获得他们设置的格式以保留在十进制中。这个答案根本没有解决这个问题,这只是一个需要解决的小问题。当然没有足够的重要性来否决投票。问题是:“格式化十进制类型而不返回字符串”
,答案是十进制没有format@maccettura因此,解决方法就是不调用ToString()
。这不是一个坏答案。它只需要一小部分fix@maccettura,这就是答案。@PanagiotisKanavos,但这不是答案。OP似乎觉得decimal
有一种格式,他们正试图获得他们设置的格式以保留在十进制中。这个答案根本没有解决这个问题,这只是一个需要解决的小问题。当然,这还不够重要,不能投反对票。