在逗号后删减数字

时间:2015-03-31 11:48:36

标签: c++

我遇到了麻烦。 我正在尝试将此4.66667的双倍数转换为4.6。我知道可以用cout.precision函数完成,但我需要转换它,而不是打印。

整个想法是我需要进行一些操作,如8/5,然后在逗号后面删除数字,只留下4.6,将其放入新变量并请求用户准确地说4.6

如果您有任何想法,非常感谢。

2 个答案:

答案 0 :(得分:0)

你可以使用一个技巧:

float rounded_down = floorf(val * 10) / 10;

(10是保持1个小数,100是保持2个......)

答案 1 :(得分:0)

我有一个我为此写的功能。该函数需要双倍但如果你需要使用大于双精度的东西,你可以改变它。

double floorRound(double val, int places)
{
    return std::floor(val * std::pow(10.0, places)) / std::pow(10.0, places);
}