我在C ++中有一个双变量,并希望将其作为固定的小数点数打印到屏幕上。
基本上我想知道如何编写一个带小数和小数位的函数,并将数字打印到小数位数,必要时填零。
例如:
convert(1.235, 2)
会打印出来
1.24
和
convert(1, 3)
会打印出来
1.000
所以该功能可以作为
convert(number as double, number of decimal places)
并简单地将所需的值打印到标准输出(cout)。
有谁知道怎么做?
提前致谢。
答案 0 :(得分:5)
假设我正确记住了格式字符串,
printf("%.*f", (int)precision, (double)number);
答案 1 :(得分:4)
查看setprecision manipulator应该给你的想法
答案 2 :(得分:0)
没有“固定小数位”数字。 convert函数需要是实际打印出来的函数。我建议获取整个数字,然后打印出来。如果[小数位]> 0然后打印小数位,则单独打印每个小数,如:floor((n*log(10,d))%10);
< - 只是一个想法,而不是实际代码。
答案 3 :(得分:-1)
#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