21xrx.com
2024-11-22 05:57:53 Friday
登录
文章检索 我的文章 写文章
C++统计小数点后的位数
2023-07-04 21:53:39 深夜i     --     --
C++ 统计 小数点 位数

C++ 统计小数点后的位数

在C++中,我们可以使用一些简单的方法来统计小数点后的位数。接下来我们将介绍两种常用的方法。

方法 1:使用 string 类型和 substr 函数

我们可以将小数点后的数字转换成字符串,然后使用 substr 函数来计算小数点后的位数。代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  double num = 3.141592653589793;

  string str_num = to_string(num);

  int pos = str_num.find(".");

  string decimals = str_num.substr(pos + 1);

  int count = decimals.length();

  cout << count << endl;

  return 0;

}

这段代码会将 num 转换成字符串类型的 str_num,然后使用 find 函数查找小数点的位置,并使用 substr 函数获取小数点后的字符串 decimals。最后,通过 decimals 的长度来计算小数点后的位数。

方法 2:使用 log10 函数

我们可以使用 log10 函数来计算小数点后的位数。具体方法是,将数值除以 10 的 x 次方,其中 x 为小数点后的位数,然后使用 log10 函数计算出 x 值。代码如下:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  double num = 3.141592653589793;

  int count = floor(log10(num)) + 1;

  cout << count << endl;

  return 0;

}

这段代码会使用 floor 函数向下取整,将 log10(num)的结果转换为整数。在加上 1 后得到小数点后的位数。

总结

以上就是两种常用的方法,我们可以根据实际需求选择适合的方法来统计小数点后的位数。这些方法在实际编程过程中也有很多用途,比如处理浮点型数据的输出和比较,对于学习和掌握C++编程语言来说也是必不可少的一环。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复