全球主机交流论坛

标题: 求教下python保留两位小数,且不要四舍五入,不! [打印本页]

作者: 战神赵日天    时间: 2024-7-17 22:22
标题: 求教下python保留两位小数,且不要四舍五入,不!
百度的ai和qq的ai写的依旧会四舍五入

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

(, 下载次数: 5)
但是这样写感觉不专业,所以请教大佬们,有没有更加专业的写法
作者: todayfortim    时间: 2024-7-17 22:27
这个gpt不是很在行吗
作者: 战神赵日天    时间: 2024-7-17 22:29
todayfortim 发表于 2024-7-17 22:27
这个gpt不是很在行吗

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

好的,谢谢大佬们
作者: wop    时间: 2024-7-17 23:00
直接截取字符串
作者: 奧巴马    时间: 2024-7-17 23:02
贴不了代码. 给个关键词. 向上取整,向下取整,截断
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)
作者: kennyS    时间: 2024-7-17 23:40

e,不能贴代码

作者: 飘摇凡庸    时间: 2024-7-18 00:05
(, 下载次数: 0)

这不是py最基础的用法吗呃。。
作者: acm    时间: 2024-7-18 00:28
飘摇凡庸 发表于 2024-7-18 00:05
这不是py最基础的用法吗呃。。

整数没有.
作者: 饕餮    时间: 2024-7-18 00:52
用decimal吧            。




欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4