一码农 2023-03-30 18:15 采纳率: 68.8%
浏览 9
已结题

golang中怎么将极小的float64扩大指定倍数?

比如有以下两个数:

var f float64 = 1.640513915e-314
var f float64 = 5.8086395e-315

我想得到一个新的float64为1.640513915和0.58086395,应该怎么做?最好不要通过string来处理?有没有什么标准点的方法?

  • 写回答

2条回答 默认 最新

  • 加法器+ 2023-03-30 18:36
    关注

    引用chatgpt回答,希望对博主有帮助:
    你可以使用科学计数法来表示这两个浮点数,例如:

    var f1 float64 = 1.640513915e0
    var f2 float64 = 5.8086395e-1
    

    在这个例子中,我们使用了科学计数法来表示1.640513915和0.58086395,其中e0表示10的0次方,即1,而e-1表示10的负1次方,即0.1,以此类推。这样表示可以确保不会出现精度损失的问题,而且不需要通过字符串来处理。

    如果需要对这些数进行扩大或缩小,可以使用上面提到的浮点数乘法或除法运算,例如:

    // 将f1扩大10f1 = f1 * 10.0
    
    // 将f2缩小100f2 = f2 / 100.0
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 3月30日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效