[英]Format string with decimal
我正在尝试使用可能包含或可能不包含“。”的字符串。 到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);
如果您想要四舍五入的结果,请替换演员表
编辑:但是我错过了“字符串”部分。 详细代码如下
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] 98 int [1] 90 int [2] -1000 int [3] -953 int
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.