python中要使一个浮点变为整数需要啥函数强制代换?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中要使一个浮点变为整数需要啥函数强制代换?相关的知识,希望对你有一定的参考价值。

这可以分两种情况分析:

1

如果直接丢弃小数部分,只保留整数部分的话,可以使用int函数。

2

如果要求小数部分对整数部分有进位,可以使用round函数。

下面是一个例子:

print(int(12.3),int(12.4))

print(int(12.5),int(12.6))

print(int(12.7),int(12.8))

print(round(12.3))

print(round(12.4))

print(round(12.5))

print(round(12.6))

print(round(12.7))

print(round(12.8))

参考技术A 赞:microroom
1 - int(num) #直接舍去小数部分
2 - round(num) #四舍五入
>>> round(0.87654) #默认不保留小数
1
>>> round(0.87654, 1) # 保留一位小数
0.9
>>> round(0.87654, 2) # 保留两位小数
0.88
参考技术B 直接int就行了

在 c++ 中可以容纳啥最大整数,能够将浮点类型加 1?

【中文标题】在 c++ 中可以容纳啥最大整数,能够将浮点类型加 1?【英文标题】:What maximal integer, capable of adding 1 a float type can hold in c++?在 c++ 中可以容纳什么最大整数,能够将浮点类型加 1? 【发布时间】:2020-09-23 04:41:25 【问题描述】:

假设我使用float 来保存整数值并向其添加小位移,大约为 1 秒或 2 秒。在哪个值float 将停止变化?这个值的名称是什么?

【问题讨论】:

"float 的哪个值会停止变化?" - 你是什么意思?您对float 执行的任何算术运算都会更改其值,无论其结果如何,是否溢出等。没有“停止”值可以防止进一步的更改发生。 @RemyLebeau 我不明白。如果float很大比如1e100,那么加1不会改变它,我错了吗? 为什么要使用浮点数来保存整数值?使用整数! 也许你想改写这个问题来澄清你想知道最小的浮点数x,这样x == x+1x代表一个正整数。 不确定您是否正在寻找这个,但这是一个函数std::nextafter,它为您提供给定浮点数的下一个可能值。 【参考方案1】:

IEEE 754 浮点变量a 的最小正值在其中得到a == a+12^bits_precision,其中bits_precision 比有效位中的位数多1,可以用@ 找到987654326@.

对于 32 位 float,这是 24;对于 64 位 double,即 53(同样,在非常常见的 IEEE 754 上下文中)。

Demo

【讨论】:

一个小问题:这些值适用于 32 位 IEEE-754 float 和 64 位 IEEE-754 double .编译器不需要使用这些类型,因此某些晦涩的系统可能对浮点类型使用不同的表示形式,具有不同的大小和/或有效数字大小和指数大小之间的不同权衡。 +1。

以上是关于python中要使一个浮点变为整数需要啥函数强制代换?的主要内容,如果未能解决你的问题,请参考以下文章

将浮点数乘以 Python 中的函数并且无法将序列乘以“浮点”类型的非整数

python中x//10啥意思

在python中//是啥意思?

将强制转换应用于整数和浮点除法的结果:这里发生了啥?

python中%代表啥意思?

Python变量类型的强制转换