草庐IT

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

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

c# - 获取小数点前的位数

我有一个decimal类型的变量,我想检查它的小数点前的位数。我应该怎么办?例如,467.45应返回3。 最佳答案 不转换为string的解决方案(这在异国情调的情况下可能很危险):staticintGetNumberOfDigits(decimald){decimalabs=Math.Abs(d);returnabs请注意,此解决方案对所有十进制值均有效更新事实上,这个解决方案不适用于一些大值,例如:99999999999998、99999999999999、9999999999999939...显然,double的数学运算对于这

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#-

c# - 将 float 格式化为小数点后两位

我目前正在为客户网站构建销售模块。到目前为止,我已经得到了可以完美计算的销售价格,但我遇到的问题是将输出格式化为小数点后两位。我目前在一个变量中调用它,以便我可以将结果数据绑定(bind)到ListView。Sale=float.Parse(((x.Sale_Price-(x.Sale_Price*(x.Discount_Price/100))).ToString())),谁能告诉我如何将输出格式化为小数点后两位??非常感谢! 最佳答案 您可以将格式传递给ToString方法,例如:myFloatVariable.ToString(

c# - 如何确定小数/ double 是否为整数?

如何判断小数或double值是整数?例如:decimald=5.0;//Wouldbetruedecimalf=5.5;//Wouldbefalse或doubled=5.0;//Wouldbetruedoublef=5.5;//Wouldbefalse我想知道这一点的原因是,我可以通过编程方式确定是否要使用.ToString("N0")或.ToString("N2")。如果没有小数点值,那么我不想显示它。 最佳答案 对于float,n%1==0通常是检查小数点后是否有任何内容的方法。publicstaticvoidMain(stri

c# - 如何将带小数点的字符串解析为 double ?

我想将像"3.5"这样的字符串解析为double值。然而,double.Parse("3.5")产量35和double.Parse("3.5",System.Globalization.NumberStyles.AllowDecimalPoint)抛出一个FormatException。现在我的计算机的区域设置为德语,其中使用逗号作为小数点分隔符。它可能必须对此做一些事情并且double.Parse()期望"3,5"作为输入,但我不确定。我如何解析包含十进制数字的字符串,该字符串可能会或可能不会按照我当前语言环境中指定的格式进行格式化? 最佳答案

c# - EF Code First 中的小数精度和小数位数

我正在试验这种代码优先的方法,但我现在发现System.Decimal类型的属性被映射到decimal(18,0)类型的sql列。如何设置数据库列的精度? 最佳答案 DaveVandenEynde的回答现已过时。有2个重要变化,从EF4.1开始,ModelBuilder类现在是DbModelBuilder现在有一个DecimalPropertyConfiguration.HasPrecision方法,其签名为:publicDecimalPropertyConfigurationHasPrecision(byteprecision,b

c# - 在 C# 中如何将数字四舍五入到小数点后两位?

我想使用Math.Round函数来完成此操作 最佳答案 这里有一些例子:decimala=1.994444M;Math.Round(a,2);//returns1.99decimalb=1.995555M;Math.Round(b,2);//returns2.00您可能还想看看银行家四舍五入/四舍五入到偶数的情况:Math.Round(a,2,MidpointRounding.ToEven);关于它的更多信息here. 关于c#-在C#中如何将数字四舍五入到小数点后两位?,我们在Stac

c# - 如何将小数值显示为小数点后两位?

当前使用.ToString()显示小数的值时,精确到小数点后15位,因为我用它来表示美元和美分,所以我只想要输出为小数点后2位。我是否为此使用了.ToString()的变体? 最佳答案 decimalVar.ToString("#.##");//returns".5"whendecimalVar==0.5m或decimalVar.ToString("0.##");//returns"0.5"whendecimalVar==0.5m或decimalVar.ToString("0.00");//returns"0.50"whendeci