十进制格式字符串
本文关键字:字符串 格式 十进制 | 更新日期: 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]