草庐IT

malign-double

全部标签

c# - 如何使用适当的 cultureinfo 将字符串转换为 double

我在数据库中有两个nvarchar字段来存储DataType和DefaultValue,我有一个DataTypeDouble和英文格式的值为65.89875。现在我希望用户根据所选的浏览器语言格式查看值(英语中的65.89875应显示为德语中的65,89875)。现在,如果用户从德语格式编辑为65,89875,相当于英语中的65.89875,而其他用户从英语浏览器中查看,则为6589875。发生这种情况是因为在数据库中它在nvarchar列中存储为65,89875并且当使用英语文化转换时它变为6589875因为它将,视为分隔符,它是德语的小数运算符.我如何让它适用于所有浏览器?

c# - 将 double 格式化为两位小数

我一直在努力使打印出来的答案精确到小数点后两位。所有涉及的数学都必须保持两位小数的格式。我已经尝试了一些事情,但我不确定要改变什么才能使这项工作成功。doublepdt1=239.99;doublepdt1Total;doublepdt2=129.75;doublepdt2Total;doublepdt3=99.95;doublepdt3Total;doublepdt4=350.89;doublepdt4Total;doublewage=200;doublepercentage=9;doubletotal;doubleanswer;doublei=100;doublea;doubleb

c# - 为什么不在 System.Double 和 System.Long 上使用 volatile?

像我这样的问题是asked,但我的有点不同。问题是,“为什么C#中的System.Double和System.Int64等类型不允许使用volatile关键字?”乍一看,我回答了我的同事,“嗯,在32位机器上,这些类型至少需要两次滴答才能进入处理器,而.Net框架有意抽象出特定于处理器的细节像那样。”他对此回应说:“如果它因为特定于处理器的问题而阻止您使用某项功能,那么它就不是抽象任何东西!”他暗示处理器特定的细节不应该显示给使用框架的人,该框架从程序员那里“抽象”了这样的细节。因此,框架(或C#)应该抽象出那些并做它需要做的事情来为System.Double等(无论是信号量、内存屏障

c# - 在 C# 中将小数转换为 double 会产生差异

问题总结:对于一些十进制值,当我们将类型从decimal转换为double时,会在结果中添加一个小分数。更糟糕的是,可能有两个“相等”的十进制值在转换时会产生不同的double值。代码示例:decimaldcm=8224055000.0000000000m;//dcm=8224055000doubledbl=Convert.ToDouble(dcm);//dbl=8224055000.000001decimaldcm2=Convert.ToDecimal(dbl);//dcm2=8224055000doubledbl2=Convert.ToDouble(dcm2);//dbl2=822

c# - 将 double 限制为小数点后 3 位

这是我想要实现的目标:如果double的小数位超过3位,我想截断第三位以外的所有小数位。(不要四舍五入。)Eg.:12.878999->12.878如果double少于3位小数,则保持不变Eg.:125->12589.24->89.24我遇到了这个命令:doubleexample=12.34567;doubleoutput=Math.Round(example,3);但是我不想圆。根据上面发布的命令,12.34567->12.346我想截断该值,使其变为:12.345 最佳答案 double没有小数位-它们不是基于小数位开头的。您可

c# - 如何插入千位分隔符(逗号)并转换为 double

我正在尝试格式化文本框的内容:this.lblSearchResults1.Text=Convert.ToDouble(lblSearchResults1.Text).ToString();我如何修改它以便文本包含逗号/千位分隔符?即1,000而不是1000。 最佳答案 查看standardnumericformatstrings:您可以最轻松地使用“N”,它会根据用户文化做正确的事情,因此在您的情况下,您只需将“N”作为参数添加到ToString([double]12345.67).ToString("N")12,345.67

c# - 将 double 转换为具有 N 位小数、点作为小数点分隔符且没有千位分隔符的字符串

我需要将小数转换为具有N个小数(两个或四个)且没有千位分隔符的字符串:'XXXXXXX(点)DDDDD'CultureInfo.InvariantCulture的问题在于用“,”分隔千位。更新这应该适用于decimal和double类型。我之前的问题:Needtoconvertdoubleordecimaltostring 最佳答案 对于decimal,使用ToString方法,并指定Invariantculture以获取句点作为小数点分隔符:value.ToString("0.00",System.Globalization.Cu

c# - 格式化 double 值,如货币但不带货币符号 (C#)

我向文本框提供一个字符串值,显示需要像这样格式化的余额:###,###,###,##0.00我可以使用value.ToString("c"),但这会将货币符号放在它前面。知道在输入文本框以实现上述格式之前我将如何操作字符串吗?我试过了,没有成功:String.Format("###,###,###,##0.00",currentBalance);非常感谢, 最佳答案 如果货币格式完全符合您的要求,请克隆一个NumberFormatInfo并将CurrencySymbol属性设置为“”。当然,您应该检查它是否也以您想要的方式处理负数。

c# - 从 double 中获取小数部分

我想以整数形式接收小数点后的数字。例如,只有05来自1.05或来自2.50只有50不是0.50 最佳答案 最好的方法是:varfloatNumber=12.5523;varx=floatNumber-Math.Truncate(floatNumber);你可以随意转换结果 关于c#-从double中获取小数部分,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13038482/

c# - C# 中纬度/经度值的 double 或小数

在C#中存储地理定位数据时使用什么数据类型最好?我会使用十进制是为了它的准确性,但十进制float的运算比二进制float(double)慢。我读到,大多数时候您不需要超过6或7位的纬度或经度精度。double的不精确性是否重要或者可以忽略? 最佳答案 选择double,有几个原因。三角函数仅适用于doubledouble(100纳米范围)的精度远远超出您对纬度/经度值的要求GeoCoordinateClass和第三方模块(例如DotSpatial)也使用double作为坐标 关于c#-