全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 966|回复: 12

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

[复制链接]
发表于 2024-7-17 22:22:37 | 显示全部楼层 |阅读模式
百度的ai和qq的ai写的依旧会四舍五入

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

7f59ba6d-8ed4-4a3e-a481-a8a276cf9e91.png (8.97 KB, 下载次数: 4)
但是这样写感觉不专业,所以请教大佬们,有没有更加专业的写法
发表于 2024-7-17 22:27:15 | 显示全部楼层
这个gpt不是很在行吗
 楼主| 发表于 2024-7-17 22:29:01 | 显示全部楼层
todayfortim 发表于 2024-7-17 22:27
这个gpt不是很在行吗

没有gpt资源哎,只能用百度的代码ai和腾讯qq的代码ai,结果提供了N个解决办法,全是错的,依旧四舍五入。
发表于 2024-7-17 22:31:08 | 显示全部楼层
直接按照小数点拆开再取
发表于 2024-7-17 22:33:01 | 显示全部楼层
math.floor(number * 100) / 100
发表于 2024-7-17 22:34:39 | 显示全部楼层
本帖最后由 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
 楼主| 发表于 2024-7-17 22:41:00 | 显示全部楼层
wangtaoceo 发表于 2024-7-17 22:34
a = 2.345566
c = int(a * 100) / 100
或者

好的,谢谢大佬们
发表于 2024-7-17 23:00:50 | 显示全部楼层
直接截取字符串
发表于 2024-7-17 23:02:34 | 显示全部楼层
贴不了代码. 给个关键词. 向上取整,向下取整,截断
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)
发表于 2024-7-17 23:40:28 | 显示全部楼层

e,不能贴代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-9-8 09:03 , Processed in 0.066397 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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