Python两个整数相除得到浮点数值的方法

在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢?

1、修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道的情况下才可以采用有效,而这种情况意味着被除数的值是写死的、固定的,在绝大多数的情况下是不可行的;

2、在进行除法运算前导入一个实除法的模块,即可在两个整数进行相除的时候得到浮点的结果;

代码如下:

from __future__ import division

以下为测试的结果:

代码如下:

ufo@ufo:~$ python
Python 2.7.4 (default, Sep 26 2013, 03:20:56)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 244158112/1024
238435
####注意以上的运算结果为整数
####导入实除法模块后的结果为浮点数
>>> from __future__ import division
>>> 244158112/1024
238435.65625
>>> 244158112/1024/1024
232.84732055664062

(0)

相关推荐

  • Python字符串转换成浮点数函数分享

    利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import reduce def str2float(s): return reduce(lambda x,y:x+int2dec(y),map(str2int,s.split('.'))) def char2num(s): return {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':

  • python中实现精确的浮点数运算详解

    为什么说浮点数缺乏精确性? 在开始本文之前,让我们先来谈谈浮点数为什么缺乏精确性的问题,其实这不是Python的问题,而是实数的无限精度跟计算机的有限内存之间的矛盾. 举个例子,假如说我只能使用整数(即只精确到个位,计算机内的浮点数也只有有限精度,以C语言中的双精度浮点数double为例,精度为52个二进制位),要表示任意实数(无限精度)的时候我就只能通过舍入(rounding)来近似表示. 比如1.2我会表示成1,2.4表示成2,3.6表示成4. 所以呢? 在算1.2 - 1.2的时候,由于计

  • 关于Python中浮点数精度处理的技巧总结

    前言 最近在使用Python的时候遇到浮点数运算,发现经常会碰到如下情况: 出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确. 比如说: 0.1是十进制,转化为二进制后它是个无限循环的数: 0.00011001100110011001100110011001100110011001100110011001100 而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到的是0.1,但在电脑上实际保存的已不是精确的0.1,参与运算后,也就有可能点误差,特

  • python使用正则搜索字符串或文件中的浮点数代码实例

    用python和numpy处理数据次数比较多,写了几个小函数,可以方便地读写数据: # -*- coding: utf-8 -*- #---------------------------------------------------------------------- # FileName:gettxtdata.py #功能:读取字符串和文件中的数值数据(浮点数) #主要提供类似matlab中的dlmread和dlmwrite函数 #同时提供loadtxtdata和savetxtdata函

  • python读取浮点数和读取文本文件示例

    从文本文件中读入浮点数据,是最常见的任务之一,python没有scanf这样的输入函数,但我们可以利用正规表达式从读入的字符串中提取出浮点数 复制代码 代码如下: import refp = open('c:/1.txt', 'r')s = fp.readline()print(s)aList = re.findall('([-+]?\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?',s) #使用正规表达式搜索字符串print(aList)for ss in aList:   

  • Python中的浮点数原理与运算分析

    本文实例讲述了Python中的浮点数原理与运算.分享给大家供大家参考,具体如下: 先看一个违反直觉的例子: >>> s = 0. >>> for i in range(10): s += .1 >>> s 0.9999999999999999 # 错误被累加 再看一个更为普遍,直接影响判断逻辑的例子: >>> from math import sqrt >>> a = sqrt(2) >>> a*a

  • python中精确输出JSON浮点数的方法

    有时需要在JSON中使用浮点数,比如价格.坐标等信息.但python中的浮点数相当不准确, 例如下面的代码: 复制代码 代码如下: #!/usr/bin/env python import json as json data = [ 0.333, 0.999, 0.1 ]print json.dumps(data) 输出结果如下: 复制代码 代码如下: $ python floatjson.py[0.33300000000000002, 0.999, 0.10000000000000001] 能

  • Python双精度浮点数运算并分行显示操作示例

    本文实例讲述了Python双精度浮点数运算并分行显示操作.分享给大家供大家参考,具体如下: #coding=utf8 def doubleType(): ''''' Python中的浮点数是双精度浮点数,可以用十进制或科学计数法表示. 实际精度依赖于机器架构和创建Python解释器的编译器. 浮点数值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法). 在e和指数之间可以用正(+)或负(-)表示指数的正负(正数可以省略符号) ''' (one,two,three,four,fiv

  • Python两个整数相除得到浮点数值的方法

    在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1.修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道的情况下才可以采用有效,而这种情况意味着被除数的值是写死的.固定的,在绝大多数的情况下是不可行的: 2.在进行除法运算前导入一个实除法的模块,即可在两个整数进行相除的时候得到浮点的结果; 复制代码 代码如下: from __future__ import di

  • Python解决两个整数相除只得到整数部分的实例

    在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值 解决方法: 1. 修改被除数的值为带小数点的形式即可得到浮点值 2.在文件头部引入 from __future__ import division 以上这篇Python解决两个整数相除只得到整数部分的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python数据预处理之将类别数据转换为数值的方法

    在进行python数据分析的时候,首先要进行数据预处理. 有时候不得不处理一些非数值类别的数据,嗯, 今天要说的就是面对这些数据该如何处理. 目前了解到的大概有三种方法: 1,通过LabelEncoder来进行快速的转换: 2,通过mapping方式,将类别映射为数值.不过这种方法适用范围有限: 3,通过get_dummies方法来转换. import pandas as pd from io import StringIO csv_data = '''A,B,C,D 1,2,3,4 5,6,,

  • 解决python 两个时间戳相减出现结果错误的问题

    如下所示: 两个时间相差一整天,结果却是相差时间为零 !!!! 这里是使用错误, .seconds只会计算 小时分钟秒 部分之间的差值 在这里使用total_seconds() 才是计算两个时间戳之间的相差时间 补充:Python 时间字符串.时间戳之间的转换,时间的加减 1.字符串转时间戳 import time str_time = "20200713203740" time_temp = time.strptime(str_time, "%Y%m%d%H%M%S&quo

  • Java两整数相除向上取整的方式详解(Math.ceil())

    目录 前言: 方式一: 添加三目运算符逻辑代码 方式二:使用ceil函数 方式三:其他逻辑 最后总结 附:java向上取整函数Math.ceil() 前言: Java中两个整数相除,如果不能整除,默认是向下取整的.例如:11 除以 3 的结果是 3.然而,某些情况下(eg. 把11个糖果,每3个分一堆,不足三个也分成一堆,可以分几堆?),我们需要向上取整,这样的情况该如果处理呢? 方式一: 添加三目运算符逻辑代码 x / y + (x % y != 0 ? 1 : 0); 这种方法逻辑上很简单,

  • Python字符串、整数、和浮点型数相互转换实例

    前言序锦 在编程中,经常要用到字符串的相互转换,现在在这里记录一下Python里面的字符串和整数以及浮点型数之间是如何进行相互转换的. int(str)函数将符合整数的规定的字符串转换成int型的 float(str)函数将符合浮点型的规定的字符串转换成float型的 str(num)将整数.浮点型转换成字符串型的 int(str)函数将符合整数的规定的字符串转换成int型的 num2 = "123"; num2 = int(num1); print("num2: %d&qu

  • Python解惑之整数比较详解

    前言 在 Python 中一切都是对象,毫无例外整数也是对象,对象之间比较是否相等可以用==,也可以用is. ==和is操作的区别是: is比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址. ==比较的是两个对象的内容是否相等,默认会调用对象的__eq__()方法. 清楚is和==的区别之后,对此也许你有可能会遇到下面的这些困惑,于是就有了这样一篇文章,试图把Python中一些隐晦的东西趴出来,希望对你有一定的帮助. 我们先来看两段代码: 片段一:

  • python里大整数相乘相关技巧指南

    问题 大整数相乘 思路说明 对于大整数计算,一般都要用某种方法转化,否则会溢出.但是python无此担忧了. Python支持"无限精度"的整数,一般情况下不用考虑整数溢出的问题,而且Python Int类型与任意精度的Long整数类可以无缝转换,超过Int 范围的情况都将转换成Long类型. 例如: >>> 2899887676637907866*1788778992788348277389943 5187258157415700236034169791337062

  • python简单实现整数反转的画解算法

    题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0. 假设环境不允许存储 64 位整数(有符号或无符号). 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出:0 问题分析 首先我们想一下,怎么去反转一个整数? 用栈? 或者把整数变成字符串

  • javascript 计算两个整数的百分比值

    复制代码 代码如下: ///计算两个整数的百分比值 function GetPercent(num, total) { num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "-"; } return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00 + &qu

随机推荐