全球灰产交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

全球云38元起免备案V2EX搬瓦工灰产
SEO查询超级PING网站测速
Virmach特价鸡乌云漏洞吾爱破解
查看: 176|回复: 11

求教下python保留两位小数,且不要四舍五入,不!

[复制链接]

156

主题

1950

回帖

5596

积分

论坛元老

Rank: 8Rank: 8

积分
5596
发表于 2024-7-17 22:22:37 | 显示全部楼层 |阅读模式
20230417
百度的ai和qq的ai写的依旧会四舍五入

其实我也知道一种写法,就是折腾点

7f59ba6d-8ed4-4a3e-a481-a8a276cf9e91.png (8.97 KB, 下载次数: 4)
但是这样写感觉不专业,所以请教大佬们,有没有更加专业的写法
hostloc邀请码购买+tg:@Sendtoae86bot
回复

使用道具 举报

12

主题

262

回帖

686

积分

高级会员

Rank: 4

积分
686
发表于 2024-7-17 22:27:15 | 显示全部楼层
这个gpt不是很在行吗
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

156

主题

1950

回帖

5596

积分

论坛元老

Rank: 8Rank: 8

积分
5596
 楼主| 发表于 2024-7-17 22:29:01 | 显示全部楼层
todayfortim 发表于 2024-7-17 22:27
这个gpt不是很在行吗

没有gpt资源哎,只能用百度的代码ai和腾讯qq的代码ai,结果提供了N个解决办法,全是错的,依旧四舍五入。
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

0

主题

42

回帖

162

积分

注册会员

Rank: 2

积分
162
发表于 2024-7-17 22:27:00 | 显示全部楼层
直接按照小数点拆开再取
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

9

主题

222

回帖

623

积分

高级会员

Rank: 4

积分
623
发表于 2024-7-17 22:31:08 | 显示全部楼层
math.floor(number * 100) / 100
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

0

主题

65

回帖

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2024-7-17 22:33:01 | 显示全部楼层
本帖最后由 wangtaoceo 于 2024-7-17 22:38 编辑

a = 2.345566
c = int(a * 100) / 100
或者
import math
def truncate(number, digits) -> float:
    stepper = 10.0 ** digits
    return math.floor(stepper * number) / stepper
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

156

主题

1950

回帖

5596

积分

论坛元老

Rank: 8Rank: 8

积分
5596
 楼主| 发表于 2024-7-17 22:34:39 | 显示全部楼层
wangtaoceo 发表于 2024-7-17 22:34
a = 2.345566
c = int(a * 100) / 100
或者

好的,谢谢大佬们
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

50

主题

332

回帖

1186

积分

金牌会员

Rank: 6Rank: 6

积分
1186
发表于 2024-7-17 22:41:00 | 显示全部楼层
直接截取字符串
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

274

主题

2035

回帖

6124

积分

论坛元老

Rank: 8Rank: 8

积分
6124
发表于 2024-7-17 22:34:00 | 显示全部楼层
贴不了代码. 给个关键词. 向上取整,向下取整,截断
def ceil_two_decimal_places(value):
    """向上取整保留两位小数"""
    return math.ceil(value * 100) / 100

def floor_two_decimal_places(value):
    """向下取整保留两位小数"""
    return math.floor(value * 100) / 100

def truncate_two_decimal_places(value):
    """截断保留两位小数"""
    str_value = str(value)
    if '.' in str_value:
        integer_part, decimal_part = str_value.split('.')
        truncated_decimal_part = decimal_part[:2]
        return float(f"{integer_part}.{truncated_decimal_part}")
    else:
        return float(str_value)
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

Rank: 1

积分
4
发表于 2024-7-17 23:00:50 | 显示全部楼层

e,不能贴代码
微信截图_20240718000549.png (6.29 KB, 下载次数: 0)

这不是py最基础的用法吗呃。。
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

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

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|全球灰产交流论坛

GMT+8, 2024-10-23 16:18 , Processed in 0.072567 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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