鱼C论坛

 找回密码
 立即注册
查看: 2107|回复: 10

[已解决]将浮点数格式化后添加进列表,出现单引号,求问为什么,以及怎么去掉该单引号

[复制链接]
发表于 2019-1-30 14:51:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
楼主计算出了一组数据,其中的每个数据小数点后的位数都很多,像这样:74.43384499999996
于是楼主决定将其格式化为小数点后两位,之后再添加进列表,结果格式化是成功了,结果每个元素上都出现了一个单引号,让楼主很苦恼,
求问为什么会出现单引号,以及怎么去掉该单引号

没有格式化之前的代码:
  1. gravity_length_list.append(gravity_length)
  2. print('重心の揺れ幅:', gravity_length_list)
复制代码

其运行结果:
重心の揺れ幅: [38.938596700000005, 74.43384499999996, 57.960671700000034, 37.08282170000001, 75.88024339999998, 51.3867166, 56.11164329999997, 42.67242670000002, 42.9458717, 81.30381999999997, 55.62858840000001, 38.50972330000002, 64.02597500000002, 64.29039169999999, 65.54311999999999, 69.59345000000002, 63.37502669999998, 47.83166829999999]

格式化之后的代码:
  1. gravity_length_list.append('%.2f' % gravity_length)
  2. print('重心の揺れ幅:', gravity_length_list)
复制代码

其运行结果:
重心の揺れ幅: ['38.94', '74.43', '57.96', '37.08', '75.88', '51.39', '56.11', '42.67', '42.95', '81.30', '55.63', '38.51', '64.03', '64.29', '65.54', '69.59', '63.38', '47.83']
最佳答案
2019-1-30 15:02:30
  1. gravity_length_list.append(round(gravity_length,2))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-30 14:59:09 | 显示全部楼层
本帖最后由 xy123151 于 2019-1-30 15:00 编辑
  1. gravity_length_list.append('%.2f' % gravity_length)
复制代码

你好端端的自己又把float改成了str,当然会有引号了
round(4.32312321321,2)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-30 15:01:26 | 显示全部楼层
xy123151 发表于 2019-1-30 14:59
你好端端的自己又把float改成了str,当然会有引号了

我用type函数看了下格式化后的数据类型,显示是float,
所以挺不理解的,为什么浮点数会有单引号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-30 15:02:30 | 显示全部楼层    本楼为最佳答案   
  1. gravity_length_list.append(round(gravity_length,2))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-30 15:03:15 | 显示全部楼层
  1. >>> a='%.2f' % 5.2654
  2. >>> a
  3. '5.27'
  4. >>> type(a)
  5. <class 'str'>
  6. >>>
复制代码

你差点要吓死我,我还以为我学错了,这明明是str....
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-30 15:12:06 | 显示全部楼层
xy123151 发表于 2019-1-30 15:03
你差点要吓死我,我还以为我学错了,这明明是str....

咦,,为什么我这里显示的是float。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-30 15:27:10 | 显示全部楼层
金仲尼 发表于 2019-1-30 15:12
咦,,为什么我这里显示的是float。。。

如果想要float类型的数据的话,要怎么办呢,
将格式化后的数据从新用float()函数定义下吗,
有一开始就格式化为浮点型的数据的方法吗?谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-30 15:29:03 | 显示全部楼层

谢谢大佬!!这个方法可以完美解决!~
我还想问下,用格式化(%f)的方法的话,需要怎么实现呢,
将浮点类型的数据,格式化为浮点类型的数据,只是小数点后的位数变小
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-30 15:31:38 | 显示全部楼层
%f是格式化字符串,你不是不要按字符串存列表么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-30 15:43:28 | 显示全部楼层
塔利班 发表于 2019-1-30 15:31
%f是格式化字符串,你不是不要按字符串存列表么

哦哦哦,明白了
就是说只要用这个方法(%f),就会输出字符串
谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-31 17:23:57 | 显示全部楼层
唯有代码使我快乐
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-30 03:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表