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 赞:microroom1 - 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+1
和x
代表一个正整数。
不确定您是否正在寻找这个,但这是一个函数std::nextafter,它为您提供给定浮点数的下一个可能值。
【参考方案1】:
IEEE 754 浮点变量a
的最小正值在其中得到a == a+1
是2^bits_precision
,其中bits_precision
比有效位中的位数多1,可以用@ 找到987654326@.
对于 32 位 float
,这是 24;对于 64 位 double
,即 53(同样,在非常常见的 IEEE 754 上下文中)。
Demo
【讨论】:
一个小问题:这些值适用于 32 位 IEEE-754float
和 64 位 IEEE-754 double
.编译器不需要使用这些类型,因此某些晦涩的系统可能对浮点类型使用不同的表示形式,具有不同的大小和/或有效数字大小和指数大小之间的不同权衡。 +1。以上是关于python中要使一个浮点变为整数需要啥函数强制代换?的主要内容,如果未能解决你的问题,请参考以下文章