精华内容
下载资源
问答
  • a=input() x,y=a.split (’.’) print(‘整数{}小数{}’.format(x,int(y)//1))

    a=input()
    x,y=a.split (’.’)
    print(‘整数{}小数{}’.format(x,int(y)//1))

    展开全文
  • 获取浮点数的整数和小数部分

    千次阅读 2018-12-31 02:20:00
    >>> a=123.3232 >>> math.modf(a) ...小数位数较多,可以使用round 如: >>> round(0.32319999999999993,4) 0.3232 转载于:https://www.cnblogs.com/sea-...

     

    >>> a=123.3232
    >>> math.modf(a)
    (0.32319999999999993, 123.0)

    小数位数较多,可以使用round

    如:

    >>> round(0.32319999999999993,4)
    0.3232

     

    转载于:https://www.cnblogs.com/sea-stream/p/10201267.html

    展开全文
  • 问题描述:如何将获取一个浮点数的整数部分以及小数部分 方法一: 1 #include <iostream> 2 using namespace std; 3 4 void main() 5 { 6 float f = -23.04f; 7 int i = f; 8 float ...

         问题描述:如何将获取一个浮点数的整数部分以及小数部分

     
    方法一:
     1 #include <iostream>
     2 using namespace std;
     3  
     4 void main()
     5 {
     6      float f = -23.04f;     
     7      int i = f;
     8      float ff = f - i;
     9  
    10      cout << "i=" << i << ", ff=" << ff << endl;
    11 }

    output:

    i=-23, ff=-0.0400009
     
    缺点:不能够精确小数的位数,因为小数部分是由差求得,会丢失部分精度。
     
    方法二:
     1 #include <iostream>
     2 #include <sstream>
     3 #include <string>
     4 using namespace std;
     5  
     6 void main()
     7 {
     8      float f = -23.04f;     
     9      int i = 0;
    10      float ff = 0.0f;
    11  
    12      stringstream ss;
    13      ss << f;
    14      ss >> i >> ff;
    15      cout << "i=" << i << ", ff=" << ff << endl;
    16 }

    output:

    i=-23, ff=0.04
    缺点:小数部分无法获取浮点数的正负号
     
    方法三:
     1 void FloatData(float f)
     2 {
     3      float    fp = f;
     4      unsigned char *p = ( unsigned char *)&fp;
     5      int        nSign = 1;
     6  
     7      /*符号位*/
     8      if(*(p+ 3) & 0x80) /*获取最高位,如果是1则为负*/
     9      {
    10            nSign = - 1;
    11      }
    12      cout << "符号位:" << nSign << endl;
    13      
    14      /*获取阶码*/
    15      int hex = (*(p+ 2) & 0x80) >> 7;
    16      hex |= ((*(p+ 3)& 0x7f) << 1);
    17      hex -= 127;
    18      cout << "阶码:" << hex << endl;
    19  
    20      /*数据部分*/
    21      unsigned long int l_int = 0L;
    22      unsigned char *q = ( unsigned char *)&l_int;
    23  
    24      /*数据拷贝*/
    25      *q     = *p;
    26      *(q+ 1) = *(p+ 1);
    27      *(q+ 2) = *(p+ 2) | 0x80;
    28      *(q+ 3) = 0x00;
    29  
    30      /*数据存储区*/
    31      l_int <<= 8;
    32      cout << "整数部分:" ;
    33      if(hex >= 0)
    34      {
    35            cout << (l_int>>( 32- 1-hex)) << endl;
    36      }
    37      else
    38      {
    39            l_int >>= -hex;
    40            cout << 0 << endl;
    41      }
    42  
    43      /*小数部分*/
    44      unsigned long int tmp = 0L;
    45      if(hex >= 0)
    46            tmp = 1 << ( 32- 1-hex);
    47      else
    48            tmp = 1 << 31;
    49      float sum = 0.0f;
    50      for(int i= 0;i< 31;i++)
    51      {
    52             if((tmp & l_int) && i!= 0)
    53                 sum += 1 * ( float)pow( 2.0f,-i);
    54            tmp >>= 1;
    55      }
    56      cout << "小数部分:" << sum << endl;
    57 }

     

    方法四:
     1 #include <iostream>
     2 #include <sstream>
     3 #include <string>
     4 #include <cmath>
     5 #include <iomanip>    // just for setw()
     6 void splitFloat(float f)
     7 {
     8      stringstream ss;
     9      ss << setprecision( 8) << f; // 如果不设置为8,用默认是值,则会截断小数的位数
    10  
    11      string str;
    12      ss >> str;
    13  
    14      size_t pos = str.find( "-");
    15      int nSign = 1;
    16      if (pos != string::npos)
    17      {
    18            nSign = - 1;
    19            str = str.substr(pos+ 1, str.length()-pos- 1);
    20      }
    21      cout << "nSign = " << nSign << endl;
    22  
    23      // 整数
    24      pos = str.find( ".");
    25      if (pos != string::npos)
    26      {
    27            string tstr = str.substr( 0, pos);
    28            cout << "整数:" << atof(tstr.c_str()) << endl;
    29            str = str.substr(pos, str.length()-pos);
    30      }
    31  
    32      // 小数
    33      cout << "小数:o" << atof(str.c_str()) << endl;
    34 }
     
     

    转载于:https://www.cnblogs.com/520zijuan/archive/2013/01/31/2886777.html

    展开全文
  • 目地:分别获取一个浮点数的整数和小数部分,或者将一个文件的文件名和扩展名拆分开。 可以考虑使用cut或者awk cut qingsong@db2a:/tmp$ num1=3.1415 qingsong@db2a:/tmp$ echo $num1 | cut -d '.' -f1 3 ...
    Linux: shell拆分浮点数的整数和小数部分 && 拆分文件的文件名和扩展名

    目地:分别获取一个浮点数的整数和小数部分,或者将一个文件的文件名和扩展名拆分开。

    可以考虑使用cut或者awk
    cut
    qingsong@db2a:/tmp$ num1=3.1415
    qingsong@db2a:/tmp$ echo $num1 | cut -d '.' -f1
    3
    qingsong@db2a:/tmp$ echo $num1 | cut -d '.' -f2
    1415

    awk
    qingsong@db2a:/tmp$ echo $num1 | awk -F '.' '{print $1}'
    3
    qingsong@db2a:/tmp$ echo $num1 | awk -F '.' '{print $2}'
    1415

    还有一种办法,更加高效和洁简,借助%操作符可以轻松将名称部分从“名称.扩展名”这种格式中提取出来

    qingsong@db2a:/tmp$ echo ${num1%.*}
    3
    qingsong@db2a:/tmp$ echo ${num1#*.}
    1415

    ${VAR%.*} 的含义:
    从$VAR中删除位于 % 右侧的通配符(在前例中是.*)所匹配的字符串。通配符从右向左进行匹配。
    ${VAR%%.*} 的含义:
    从$VAR中删除位于 % 右侧的通配符(在前例中是.*)所匹配的字符串。通配符从右向左进行贪婪匹配(尽可能多的匹配)。
    ${VAR#*.} 的含义:
    从$VAR中删除位于 # 右侧的通配符(在前例中是*.)所匹配的字符串。通配符从左向右进行匹配
    ${VAR##*.} 的含义:
    从$VAR中删除位于 # 右侧的通配符(在前例中是*.)所匹配的字符串。通配符从左向右进行贪婪匹配(尽可能多的匹配)。

    示例:
    qingsong@db2a:/tmp$ url=www.ibm.com
    qingsong@db2a:/tmp$ echo ${url%.*}
    www.ibm
    qingsong@db2a:/tmp$ echo ${url%%.*}
    www
    qingsong@db2a:/tmp$ echo ${url#*.}
    ibm.com
    qingsong@db2a:/tmp$ echo ${url##*.}
    com

    即然能很容易地拆分了,就容易写一个脚本,来批量重命名文件(不考虑文件名有空格的情形)。下面的脚本可以批量重命名所有的 jpg、png文件

    #!/bin/bash
    #filename: batchrename.sh
    #Rename jpg and png files
    
    count=1
    
    # maxdepth参数尽量靠前是一个很好的习惯,可以避免find深度查找
    for oldName in `find /tmp  -maxdepth 1 -iname '*.png' -o -iname '*.jpg' -type f`
    do
    	newName=image-$count.${oldName##*.}
    	mv $oldName $newName
    	let count++
    done
    运行效果如下:
    qingsong@db2a:/tmp$ find /tmp  -maxdepth 1 -iname '*.png' -o -iname '*.jpg' -type f
    /tmp/MyBG1a.jpg
    /tmp/V1uBkW4.jpg
    /tmp/XXxxzyFr.png
    /tmp/A8hB3An8ey.png
    /tmp/XXxxeb5t.PNG
    qingsong@db2a:/tmp$ bash rename.sh
    qingsong@db2a:/tmp$ find /tmp  -maxdepth 1 -iname '*.png' -o -iname '*.jpg' -type f
    /tmp/image-5.PNG
    /tmp/image-1.jpg
    /tmp/image-2.jpg
    /tmp/image-4.png
    /tmp/image-3.png
    展开全文
  • 分离浮点数的整型部分和小数部分

    千次阅读 2014-05-23 15:49:31
    问题描述:如何将获取一个浮点数的整数部分以及小数部分   方法一: 1 #include 2 using namespace std; 3 4 void main() 5 { 6 float f = -23.04f; 7 int i = f; 8 float ff = f - i; ...
  • 获取浮点数的整数和小数部分,是一种常见的操作,在JavaScript中有许多方法可以达到目的,但也正因为方法众多,所以哪种方法更好,也值得我们仔细研究一番。 取整数 <p>parseInt比较...
  • 给定一个浮点数,如何使用JavaScript将数字分成整数和小数部分,并获取数字小数部分?下面本篇文章就来给大家介绍一下使用JavaScript获取数字小数部分方法,希望对大家有所帮助。 原文地址:如何使用...
  • 什么是浮点数

    2021-01-23 13:36:24
    简单回顾一下,简单来说,用定点数表示数字时,会约定小数点位置固定不变,整数部分和小数部分分别转换为二进制,就是定点数结果。 但用定点数表示小数时,存在数值范围、精度范围有限缺点,所以在计算机中,...
  • 配书光盘Readme文件 ...范例2-2 求浮点数的绝对值 400 ∷相关函数:fabs函数 2.1.4 求反余弦 400 范例2-4 求反余弦 400 ∷相关函数:acos函数 2.1.5 求反正弦 401 范例2-5 求反正弦 401 ∷相关函数:asin...
  • Decimal为SQL Server、MySql等数据库一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。 好处:使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间 在C#中 decimal...
  • C语言通用范例开发金典.part2.rar

    热门讨论 2012-08-31 14:18:18
    范例2-2 求浮点数的绝对值 400 ∷相关函数:fabs函数 2.1.4 求反余弦 400 范例2-4 求反余弦 400 ∷相关函数:acos函数 2.1.5 求反正弦 401 范例2-5 求反正弦 401 ∷相关函数:asin函数 2.1.6 求反正切 ...
  • C 开发金典

    2013-06-20 16:20:03
    配书光盘Readme文件 C 语言通用范例开发金典 第1章 数据结构.... 1.1 数组字符串 2 ...1.2 栈队列 54 ...1.3.12 查询元素的前驱后继 98 ...范例1-43 查询元素的前驱后继 98 ...2.1.2 求浮点数的...
  • C语言通用范例开发金典.part1.rar

    热门讨论 2012-08-31 14:09:26
    范例2-2 求浮点数的绝对值 400 ∷相关函数:fabs函数 2.1.4 求反余弦 400 范例2-4 求反余弦 400 ∷相关函数:acos函数 2.1.5 求反正弦 401 范例2-5 求反正弦 401 ∷相关函数:asin函数 2.1.6 求反正切 402 ...
  • 比如43058.3876851852,整数部分代表是:从1899年12月30日午夜起计算“日”数。而小数部分代表是不足一天。具体计算过程结果可以通过,Excel表格格式转换来查看1.在Excel表格中输入具体的浮点数 2.右键设置...
  • 数据类型

    2020-06-22 11:50:27
    浮点数的小数表示(分子分母形式)可是使用float.as_integer_ratio(x)方法获取; 使用float.hex()方法,可以将浮点数以十六进制形式表示为字符串,相反的装换可以使用float.fromhex()实现。 1.2复数 复数由...
  • Python学习

    千次阅读 2018-01-28 12:08:55
    -2整数相除计算结果只保留整数部分小数部分截除一般使用浮点数Float来进行除法运算 -3 数值幂计算符号 -4长整数 一个整数大于232就需要使用长整数来保存数据 通过 1L 10L 等在整数末尾加L来表示长整数 -5 十六...
  • C语言06 ---算术运算符

    2021-06-09 08:13:04
    对于整数部分采用舍弃小数的方式,不是四舍五入。 对于浮点数的除法能够获取一个相对逼近的值。 %是求余数的意思,两边的操作数必须是整数。 “目”的解释 我们把运算符作用的运算对象称之为操作数,运算符是单目...
  • 和小数。"整数"之所以有引号是因为JS并不像其它语言有真的整数。 所以,在JS中,"整数"就是没有小数部分的数字:<code>42.0和<code>42一样是"整数"。 像大多数现代语言&#...
  • Microsoft C# Windows程序设计(上下册)

    热门讨论 2011-08-05 10:28:13
    b.4 浮点数的无穷大无穷小 b.5 math类 b.6 浮点数的余数 b.7 幂对数 b.8 三角函数 附录c 字符串理论 c.1 char类型 c.2 string的构造函数属性 c.3 复制字符串 c.4 转换字符串 c.5 连接字符...
  •  第23讲 大数和小数  23.1 长整型和短整型  23.1.1 长整数  23.1.2 短整数  23.2 整数字面量  23.3 字节长度的整数  23.4 类型转换  23.5 整数算术  23.6 重载解析  第24讲 极大数和极小数  ...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数...
  • 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数...
  • 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数...
  • 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数...
  • 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数...
  • 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数...
  • 2.5.1 无符号的整数类型 35 2.5.2 使用整数类型 36 2.5.3 指定整数常量 37 2.6 浮点数 38 2.7 浮点数变量 38 2.8 使用浮点数完成除法运算 39 2.8.1 控制小数位数 40 2.8.2 控制输出的字段宽度 41 2.9 较...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

获取浮点数的整数部分和小数部分