我正在寻找从双变量中删除尾随零并将结果赋给双变量。C++:从双变量的小数部分删除尾随零
请注意,
- 我对C++ 98
- 我不希望打印出来(使用的snprintf,COUT或用printf的%G);我正在寻找删除尾部零并将余数分配回双变量。
输入:双(如100.250或100.1010或100.375)
输出:双(100.25,100.101,100.375)
例如
double Price = 100.250;
double convert = TrimZeros(100.250);
// convert = 100.25
- 我试图转换双向串流,并修剪该串的结尾零。但是,我无法在修剪后将其转换回双倍(具有所需的精度)。
例如
double Price = 100.250;
ostringstream osPrice;
osPrice << fixed << Price;
string cPrice = TrimString(osPrice.str()); // my function to trim trailing zero of string
//cPrice = "100.25"
// Now When I try to convert cPrice back to double, it adds extra zeros i.e. 100.250000
我很好的东西,即 - 直接功能裁剪的两倍尾随零和分配剩余回双变量。
OR
- 转换双为字符串,修剪掉串零并将其转换回正常的两倍。
请帮忙。
嗯......你不能用你描述的方式真正去除数字的数字。如果您不想在字符串表示中使用任何尾随零,只要将它们移除即可。 – InternetAussie
尾部零不影响数字,为什么要删除它们? '1。 == 1.0 == 1.00 == 1.000 == ...'。 – NathanOliver
这里的用例是什么? – CinCout