var number1 = 1; var number2 = 2; var number3 = ((double)number1 / number2).ToString("#0.00"); Console.WriteLine(number3); //0.50
我想要的结果是:如果是9.3/3得到的是3.1
如果是9/3得到的是3此时不保留小数点
我是用转换后在用split分割后在去判断比较麻烦!想找到个简单点的方法
你也太懒了
这都问
请指教!
我想要的结果是:如果是9.3/3得到的是3.1
如果是9/3得到的是3此时不保留小数点
我是用转换后在用split分割后在去判断比较麻烦!想找到个简单点的方法
请给出number1和number2的数据类型。
number1为非负正数 number为正整数
我想要的结果是:如果是9.3/3得到的是3.1
如果是9/3得到的是3此时不保留小数点
@MingHao_Hu:从你的示例里我才看出来 number1的数据类型是浮点型,number2是整型,你的需求转换后的问题就是如何判断一个浮点数能够被一个整数整除。那这个问题也简单,如果number1带小数,那么它肯定不能被整数整出。
if (number1 - (uint)number1 > 0.0 || (uint)number1 % number2 > 0)
{
number3 = number1 / number2;
}
else
{
number3 = (uint)number1 / number2;
}
1 var number1 = 1; 2 var number2 = 3; 3 var number3 = number1/number2; 4 cout.precision(2); 5 cout<<number3;
cout.precision(2);
cout<<number3在C#中这样写不行啊
@MingHao_Hu: 额,这是c++,不好意思。
c#好像这样可以,number3 = System.Math.Round(number3,2)
int main(){ bool isContinue=true; while(isContinue){ __int32 x ; //x>=0 __int32 y ; //y为定数 cin >> x; cin >> y; if(x<0){ x=-x; //如果输入负数则转换为正数 } if(y==0){ cout << "除数不能为0" << endl; //如果除数为0退出 return 1; } float result =x/(float)y; if(result -(__int32)result == 0){ //这里判断计算结果是不是正数 cout << "浮点数就是整数,为" << (__int32)result << endl; } else{ cout.precision(3); cout<< "最后答案为" << result << endl; } cout << "你是否继续" << endl; char input; cin >> input; if(input=='y' || input == 'Y'){ isContinue = true; } else{ isContinue = false; } } return 0; }
在c和C++中可以这样写!。net中不行啊!
@MingHao_Hu: 你是想在.net实现 对吧
var floor = Math.Floor(number3); string output = floor == number3 ? floor.ToString("N0") : number3.ToString("N2");