草庐IT

toFixed2Decimal

全部标签

C# : Check value stored inside string object is decimal or not

在C#中,如何检查字符串对象中存储的值(例如:stringstrOrderId="435242A")是否为十进制? 最佳答案 使用Decimal.TryParse功能。decimalvalue;if(Decimal.TryParse(strOrderId,outvalue))//It'sadecimalelse//Noit'snot. 关于C#:Checkvaluestoredinsidestringobjectisdecimalornot,我们在StackOverflow上找到一个类似

c# - Decimal.TryParse 不解析我的十进制值

当我尝试转换类似0.1的值(来自文本框中的用户)时,我的值b始终为false。boolb=Decimal.TryParse("0.1",outvalue);它怎么会在这里工作? 最佳答案 指定解析的文化。您当前的文化使用一些不同的数字格式,可能是0,1。这将成功解析字符串:boolb=Decimal.TryParse("0.1",NumberStyles.Any,CultureInfo.InvariantCulture,outvalue); 关于c#-Decimal.TryParse不解

c# - 将 Decimal 数组转换为 Double 数组

将decimal[]转换为double[]的有效方法是什么?我正在处理一些相当大的数组。 最佳答案 double[]doubleArray=Array.ConvertAll(decimalArray,x=>(double)x); 关于c#-将Decimal数组转换为Double数组,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4175716/

C# Decimal.Parse 逗号问题

这是我的问题(对于en-US):Decimal.Parse("1,2,3,4")返回1234,而不是抛出InvalidFormatException。大多数Windows应用程序(Excelen-US)不会删除千位分隔符,并且不会将该值视为十进制数。其他语言也会出现同样的问题(尽管字符不同)。有没有其他的十进制解析库可以解决这个问题?谢谢! 最佳答案 它允许数千个,因为Decimal.Parse(NumberStyles.Number)使用的默认NumberStyles值包括NumberStyles.AllowThousands。如

c# - 数学解释为什么 Decimal 到 Double 的转换被破坏并且 Decimal.GetHashCode 分隔相等的实例

我不确定这种陈述StackOverflow问题的非标准方式是好是坏,但这里是:什么是最好的(数学或其他技术)解释代码的原因:staticvoidMain(){decimal[]arr={42m,42.0m,42.00m,42.000m,42.0000m,42.00000m,42.000000m,42.0000000m,42.00000000m,42.000000000m,42.0000000000m,42.00000000000m,42.000000000000m,42.0000000000000m,42.00000000000000m,42.000000000000000m,42.0

c# - Convert.ToDecimal(string) 和 Decimal.Parse(string) 之间的区别

Convert.ToDecimal(string)和Decimal.Parse(string)在C#中有什么区别?在什么情况下你会使用一个而不是另一个?它对性能有什么影响?在两者之间进行选择时,我还应该考虑哪些其他因素? 最佳答案 请记住一个重要的区别:Convert.ToDecimal如果给定null字符串,将返回0。decimal.Parse将抛出ArgumentNullException如果您要解析的字符串是null。 关于c#-Convert.ToDecimal(string)和

c# - 将 double 转换为 decimal 还是从 double 构造 "new"decimal 更好?

当从double转换为小数时,假设我的double可以表示为decimal...将double转换为小数是否更合适:(ExplicitNumericConversionsTable)(请注意,此条目错误地与前者相矛盾!)doublefoo=bar;decimalfoobar=(decimal)foo;还是调用decimal构造函数更合适:(DecimalConstructor)doublefoo=bar;decimalfoobar=newdecimal(foo);我倾向于使用decimal构造函数,但我想知道使用其中一个与另一个的原因。据我所知,唯一的区别是Decimal.MinVal

c# - 将字符串 decimal 转换为 int

我有一个字符串“246246.246”,我想将其传递给IConvertable接口(interface),ToInt16、ToInt32、ToIn64。将带小数位的字符串解析为整数的最佳方法是什么?这是一个解决方案,但是还有更好的解决方案吗?stringvalue="34690.42724";Convert.ToInt64(Convert.ToDouble(value)); 最佳答案 要执行此折扣舍入,您可以执行以下操作:Convert.ToInt64(Math.Floor(Convert.ToDouble(value)));如果您

C# double to decimal 精度损失

我有一个double"138630.78380386264",我想将它转换为小数,但是当我这样做时,我要么通过强制转换,要么通过使用Convert.ToDecimal()我失去了精度。这是怎么回事?decimal和double都可以保存这个数字:doubledoub=double.Parse("138630.78380386264");decimaldec=decimal.Parse("138630.78380386264");stringdecs=dec.ToString("F17");stringdoubse=DoubleConverter.ToExactString(doub);

c# - .Net 中 Decimal.One、Decimal.Zero、Decimal.MinusOne 的用途是什么

简单的问题-为什么Decimal类型定义这些常量?何必呢?我正在寻找一个原因,为什么这是由语言定义的,而不是可能的用途或对编译器的影响。为什么首先把它放在那里?编译器可以像Decimal.Zero一样轻松地内联0m,因此我不会将其作为编译器快捷方式购买。 最佳答案 小澄清。它们实际上是静态只读值而不是常量。这在.Net中有明显的区别,因为常量值被各种编译器内联,因此不可能在编译的程序集中跟踪它们的使用情况。然而,静态只读值不会被复制,而是被引用。这对您的问题是有利的,因为这意味着可以分析它们的使用。如果您使用反射器并深入研究BCL,