[英]Convert a double to fixed decimal point in C++
我在C ++中有一个双变量,并希望将其作为固定的小数点数打印到屏幕上。
基本上我想知道如何编写一个带有一个小数位和一些小数位的函数,并将数字打印到该小数位数,必要时填充零。
例如:
convert(1.235, 2)
会打印出来的
1.24
和
convert(1, 3)
会打印出来的
1.000
所以这个功能就像
convert(number as double, number of decimal places)
并简单地将所需的值打印到标准输出(cout)。
有谁知道如何做到这一点?
提前致谢。
假设我正确记住了我的格式字符串,
printf("%.*f", (int)precision, (double)number);
看看setprecision操纵器应该给你的想法
没有“固定小数位”数字这样的东西。 convert函数需要是实际打印出来的函数。 我建议获取整个数字,然后打印出来。 如果[decimal places]> 0然后打印小数位,则单独打印每个小数,如: floor((n*log(10,d))%10);
< - 只是一个想法,而不是实际的代码。
#include <iomanip>
#include <iostream.h>
// print a float, x places of precision
void convert (double number, int x)
{
cout << setprecision(x) << number << endl;
}
int main()
{
double a = 1.234;
convert (a,2);
}
输出:1.23
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.