C# 如何获取字符串中表示的双精度的整数部分?
我有一个表示为字符串的双精度值。我只想得到数字的整数部分作为字符串 我该怎么做?例如,使用此字符串:C# 如何获取字符串中表示的双精度的整数部分?,c#,C#,我有一个表示为字符串的双精度值。我只想得到数字的整数部分作为字符串 我该怎么做?例如,使用此字符串: string str ="123.0000"; 我想以这根绳子结束 string result ="123"; 您可以尝试使用以下方法: int myInt = (int)Double.Parse(string); 如果不需要舍入,可以将其解析为double,然后将其转换为int int i = (int)double.Parse("123.000"); 您可以尝试以下方法: int
string str ="123.0000";
我想以这根绳子结束
string result ="123";
您可以尝试使用以下方法:
int myInt = (int)Double.Parse(string);
如果不需要舍入,可以将其解析为double,然后将其转换为int
int i = (int)double.Parse("123.000");
您可以尝试以下方法:
int integralPart = (int)Double.Parse(str);
首先解析字符串并创建一个double,然后将double转换为整数
另一种方法是基于点分割字符串
var parts = str.Split('.');
然后,如果需要整数部分的字符串表示,只需获取数组中的第一项:
parts[0]
如果要创建整数,只需解析后者:
int integralPart = int.Parse(parts[0]);
对于更主动的编程风格,最好使用double
和int
的TryParse
方法来处理任何异常
例如:
int integralPart;
double number;
if(Double.TryParse(str, out number))
{
integralPart = (int)number;
}
如果希望结果为字符串,则只需抓取
字符
,直到遇到非数字:
string str = "123.0000";
str = new string(str.TakeWhile(char.IsDigit).ToArray());
在我看来,您应该使用.NET内置函数使代码尽可能明确 您应该解析数字(使用Decimal.parse或Decimal.TryParse),然后使用Math.Floor或Math.Truncate函数。您希望使用哪一种取决于您希望处理负值的方式 参考: 相关职能:
你能把它分开吗?你需要解析它吗?