我有一个练习,我必须将字符串转换为整数并能够处理负数。这种工作,但必须有更好的方法来做到这一点。
String nr = "-5.6";
double x = Convert.ToDouble(nr); //Convert to double
double y = Math.Round(x); //Round the nr
int r = Convert.ToInt32(x); //Convert to Int
string t = r.ToString(); //Convert back to string so possible
textBox1.AppendText(t); //to Append to textBox
答案 0 :(得分:2)
您可以进入英雄模式,并根据需要的结果单行完成
var nr = "-5.6";
var result = Math.Truncate(double.Parse(nr)).ToString() ; // -5
// or
var result = Math.Round(double.Parse(nr)).ToString() ; // -6
尽管将所有内容都作为一条hack记录,但如果这是用户输入,您可能仍想使用double.TryParse
并针对肮脏的小手指进行验证
答案 1 :(得分:2)
您的方式还不错;它是明确的,可让您完全控制转换的每个步骤。例如,很容易对其进行修改以更改舍入规则或处理不同的数字格式。
但是,如果您想要非常简单和简短的内容,则可以使用string.Format在一行中完成。
var result = string.Format("{0:N0}", float.Parse("-5.6"));