NET*_*ion 61 c# string decimal
我试图转换1200.00为decimal,但Decimal.Parse()删除.00.我尝试了一些不同的方法,但它总是会删除.00,除非我提供的分数不同于0.
string value = "1200.00";
Run Code Online (Sandbox Code Playgroud)
var convertDecimal = Decimal.Parse(value , NumberStyles.AllowThousands
| NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol);
Run Code Online (Sandbox Code Playgroud)
var convertDecimal = Convert.ToDecimal(value);
Run Code Online (Sandbox Code Playgroud)
var convertDecimal = Decimal.Parse(value,
NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
如何将string包含转换1200.00为decimal包含1200.00?
Jon*_*eet 82
嗯......我无法重现这个:
using System;
class Test
{
static void Main()
{
decimal d = decimal.Parse("1200.00");
Console.WriteLine(d); // Prints 1200.00
}
}
Run Code Online (Sandbox Code Playgroud)
你确定你的代码的其他部分不是稍后规范化小数值吗?
万一它是文化问题,试试这个版本根本不应该取决于你的语言环境:
using System;
using System.Globalization;
class Test
{
static void Main()
{
decimal d = decimal.Parse("1200.00", CultureInfo.InvariantCulture);
Console.WriteLine(d.ToString(CultureInfo.InvariantCulture));
}
}
Run Code Online (Sandbox Code Playgroud)
Øyv*_*hen 12
我认为你的问题是在显示小数时,而不是它的内容.
如果你试试
string value = "1200.00";
decimal d = decimal.Parse(s);
string s = d.ToString();
Run Code Online (Sandbox Code Playgroud)
s将包含字符串"1200".
但是,如果您将代码更改为此
string value = "1200.00";
decimal d = decimal.Parse(s);
string s = d.ToString("0.00");
Run Code Online (Sandbox Code Playgroud)
s将包含"1200.00"您希望它执行的字符串.
编辑
似乎我今天早上一直在脑力下降.我Parse现在添加了这些陈述.然而,即使我的第一个代码输出"1200.00",即使我预期它输出"1200".好像我每天都在学习一些东西,在这种情况下,显然是非常基本的东西.
所以无视这个正确的答案.在这种情况下,我们可能需要更多代码来识别您的问题.
小智 11
您好我有同样的问题,但很容易,只需这样做:
string cadena="96.23";
decimal NoDecimal=decimal.parse(cadena.replace(".",","))
我认为这是因为接受C#的十进制数字带有","
以下代码将值打印为1200.00.
var convertDecimal = Convert.ToDecimal("1200.00");
Console.WriteLine(convertDecimal);
Run Code Online (Sandbox Code Playgroud)
不确定你在期待什么?
小智 5
CultureInfo 类的使用对我有用,希望对您有所帮助。
string value = "1200.00";
CultureInfo culture = new CultureInfo("en-US");
decimal result = Convert.ToDecimal(value, culture);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
286246 次 |
| 最近记录: |