如何阅读没有任何符号的数字
本文关键字:符号 数字 任何 何阅读 | 更新日期: 2023-09-27 18:36:07
如何阅读没有任何符号的数字??示例 -8759.328 和 8569.659"
输出应为 8759.32 和 8569.65 双精度
var debit = txtDebit.Text.Split('-');
oBankPages.DebitAmount = Convert.ToDouble(debit);
如果我
明白,你有两个字符串,
var numberStringOne = "-8759.328";
var numberStringTwo = "8569.659";
如果要像decimal
s一样处理这些字符串,首先必须解析它们。
var numberOne = decimal.Parse("-8759.328");
var numberTwo = decimal.Parse("8569.659");
接下来,你可以通过使用 Math.Abs
, Abs. 作为 Absolute 的缩写来获取忽略符号的值。
var numberOne = Math.Abs(numberOne);
然后,使用适当的格式说明符将数字转换回舍入字符串。
var formattedNumberOne = numberOne.ToString("D2");
或者也许
Console.WriteLine("{0:D2}", numberTwo);
所以,都在一条线上。
var formattedNumberOne = Math.Abs(decimal.Parse("-8759.328")).ToString("D2");
格式化只能使用字符串完成 整型和浮点类型本身没有任何格式
var res = Math.Abs(-8759.328).ToString("f2");
如果您需要结果作为Double
,您可以Round
结果
var res = Math.Round(Math.Abs(-8759.328), 2);
注意:上述调用Math.Round
因此结果将四舍五入而不是格式化。换句话说,您可能会得到8759.33
而不是8759.32
oBankPages.DebitAmount = Math.Abs(Convert.ToDouble(txtDebit.Text));
请注意,像这样的分数不能准确地用浮点数表示。您可以简单地在您的情况下解决它。
double value = Math.Truncate(100 * Math.Abs(-8759.328)) / 100;
输出 : 8759.32
试试这个。
string debit = Regex.Replace(txtDebit.Text, "[^0-9^.]+", "");
oBankPages.DebitAmount = Math.Abs(Convert.ToDouble(debit)).ToString("f");
使用 decimal
而不是 double。您的数据与金钱有关。即使是一分钱的折扣也是重要的。您不能使用浮点数或双精度数,因为它们是有损数据类型,只记住数字的"开头"而忘记结尾。 decimal
的设计是精确的。如果你曾经在金融部门工作过,请记住:没有浮存金,没有双倍。当然,除非一些高级会计师订单告诉你,他们会以某种方式升级它,并且由于他们的创造力而安全。
阅读有关萨拉米袭击的信息