十进制格式字符串

本文关键字:字符串 格式 十进制 | 更新日期: 2023-09-27 18:14:51

我试图采取一个字符串,可能包含或可能不包含一个'。'到移除"小数点"的x个字符。结果最终将被转换为有符号整数。我也总是需要1/10的小数(即10变成100,1变成10,等等……)我想只是格式化字符串,而不转换为整数,直到最后。

例子

如果输入的字符串是

9.86我想要98作为一个字符串(我不关心四舍五入或其他)

如果我得到9我想要90

如果我得到-100我想要-1000

如果我得到-95.353我要-953

十进制格式字符串

string.Format("{0:d}", (int)9.015*10);

如果你想要一个四舍五入的结果,替换Cast

编辑:但是我错过了"字符串"部分。

下面的详细代码
var input = "9.86";
var len = input.IndexOf('.');
var result = "";
if (len > 0)
{
    result = input.Substring(0, len);
    result += input.Substring(len + 1, 1);
}
else
{
    result = input + "0";
}

如果您实际上是将字符串中包含的数字乘以10,并在第一个数字后面减去小数点,那么您最好将字符串转换为小数,然后进行转换并将该数字转换为整数。否则,你将不得不编写一大堆数学规则,来说明如何根据特定类型的输入修改字符串。

        string[] input  = {"9.86", "9", "-100", "-95.3"};
        List<int> intNums = new List<int>();
        foreach (string s in input)
        {
            decimal number;
            if (Decimal.TryParse(s, out number))
            {
                number = number * 10;  
                intNums.Add((int)number);
            }
        }

输出:[0] [au:[1] 90 int[2] -1000 int[3]