gpt4 book ai didi

c# - 如何从十进制字符串中去除零和小数点?

转载 作者:太空狗 更新时间:2023-10-30 00:04:08 26 4
gpt4 key购买 nike

当前输出以下代码:

12.1
12.100
12.1000
12.00
12
12.0000

我怎样才能改变它输出:

12.1
12.1
12.1
12
12
12

Math.Round 似乎很重要,但它让我定义了我想要的小数位数,但我希望它们像上面那样可变。

如果没有数学方法来做到这一点,我将只去掉字符串右侧的零和小数点,但我认为有一种数学方法可以处理这个问题。

using System;
using System.Collections.Generic;

namespace Test8834234
{
public class Program
{
static void Main(string[] args)
{

List<string> decimalsAsStrings = new List<string>
{
"12.1",
"12.100",
"12.1000",
"12.00",
"12",
"12.0000"
};

foreach (var decimalAsString in decimalsAsStrings)
{
decimal dec = decimal.Parse(decimalAsString);
Console.WriteLine(dec);
}

Console.ReadLine();

}
}
}

最佳答案

您还可以使用带参数的 decimal 的 ToString:

string s = dec.ToString("0.#");

注意:您的代码可能存在国际化问题。按照您的编码方式,它将使用来自用户计算机的文化信息,其中可能有 . 以外的其他内容作为小数点分隔符。这可能会导致您的程序为使用 . 千位分隔符的用户提供不正确的结果。

如果你想保证解析方法的行为始终相同,你可以使用 CultureInfo.InvariantCulture .如果您确实想根据用户的区域性设置来解析字符串,那么您所做的就很好。

关于c# - 如何从十进制字符串中去除零和小数点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com