c++ - long double 除法不能得到期望值
问题描述
我想计算两个long double
数字之间的除法,但无法得到预期的结果。谁能帮助我?
int main() {
long double m=(long double)(94911150.000000);
long double n=(long double)(94911151.000000);
long double k= m/n;
printf("%Lf %Lf %Lf \n",m,n,k);
return 0;
}
预期结果是 94911150.000000 94911151.000000 0.999999989
但实际结果是 94911150.000000 94911151.000000 1.000000
解决方案
格式说明符的默认精度%f
为 6。尝试类似%.10Lf
推荐阅读
- python - 在 Python 中的 Pandas 数据框中根据日期选择行(日期不是列)
- python - 检查列表的元素是否在嵌套列表的每个列表中
- mysql - mysql创建排序索引使查询变慢
- php - 使用 WooCommerce 中的 WC_Checkout get_value() 方法获取结帐自定义字段提交的值
- amazon-web-services - 如何在 AWS Fargate 中动态触发多个容器?
- flutter - 颤振错误:没有名为“孩子”的命名参数
- javascript - 我的功能的 React Native 步骤未得到尊重
- javascript - 尝试将每个数组元素的第一个单词加粗
- load-testing - 使用 k6 测试 graphql 订阅
- r - R中是否有类似于Rust模式语法的东西?