short int、long、float、double使用问题说明

short int 短整型 2个字节 值范围 -32768~32767
long 长整型 4个字节 值范围 -2147483648~2147483647 float 单精度 4个字节 值范围 -3.4*10(-38)~3.4*10(38)
double 双精度 8个字节 值范围 -1.7*10(-308)~1.7*10(308)

在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。 在DBF中,整数与浮点数都是以字符形式存储的。例如:-3.134存储为“-3.135”,共占了6个字符。
所以
对于Access中的短整型,存储为DBF中的字段宽度为6;
对于Access中的长整型,存储为DBF中的字段宽度为11;
对于Access中的单精度,存储为DBF中的字段宽度为18,小数位为7;
对于Access中的双精度,存储为DBF中的字段宽度为24,小数位为15。
就是说,access中的单精度、双精度数据,转储到DBF中很难保证精度。

(0)

相关推荐

  • C# double和decimal数据类型以截断的方式保留指定的小数位数

    项目中要用到以截断的方式取小数点后两位,故写了以下方法: 复制代码 代码如下: /// <summary> /// 将小数值按指定的小数位数截断 /// </summary> /// <param name="d">要截断的小数</param> /// <param name="s">小数位数,s大于等于0,小于等于28</param> /// <returns></retur

  • C语言double和float 实例分析

    小数也称实数或浮点数.例如,0.0.75.0.4.023.0.27.-937.198 都是合法的小数.这是常见的小数的表现形式,称为十进制形式. 除了十进制形式,也可以采用指数形式,例如 7.25×102.0.0368×105.100.22×10-2 等.任何小数都可以用指数形式来表示. C语言中的小数也有这两种表示形式.在书写时,十进制形式和数学中的一样,指数形式有所差异. 在C语言中小数的指数形式为: aEn 或 aen a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或

  • C#生成设置范围内的Double类型随机数的方法

    本文实例展示了C#实现生成设置范围内的Double类型随机数的方法,对于C#的学习来说有不错的借鉴价值,分享给大家供大家参考. 关键代码如下: /// <summary> /// 生成设置范围内的Double的随机数 /// eg:_random.NextDouble(1.5, 2.5) /// </summary> /// <param name="random">Random</param> /// <param name=&q

  • C# DoubleClick与MouseDoubleClick区别,双击事件引发顺序

    DoubleClick 事件 在双击控件时发生.处理时不包含任何事件数据. MouseDoubleClick 事件 当用鼠标双击控件时发生.通过事件所包含的MouseEventArgs 对象,可以获取鼠标数据. 从逻辑上来说,由于比MouseDoubleClick 描述更抽象,DoubleClick 事件是控件的更高级别的事件, 事件引发的顺序: MouseDown 事件. Click 事件. MouseClick 事件. MouseUp 事件. MouseDown 事件. DoubleClic

  • java对double数组排序示例分享

    复制代码 代码如下: package airthmatic;public class demo10 { public static void main(String[] args) { double n[]={9,1.2,5,3.2,1.1};  orderNum(n);  } /**  * double 和 int 数字排序  * @param n  */ public static void orderNum(double []n){ for(int i=0;i<n.length-1;i++

  • java使double保留两位小数的多方法 java保留两位小数

    复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为: 复制代码 代码如下: 3.230.00 2.00 java保留两位小数问题:

  • Java中的双重检查(Double-Check)详解

    在 Effecitve Java 一书的第 48 条中提到了双重检查模式,并指出这种模式在 Java 中通常并不适用.该模式的结构如下所示: public Resource getResource() { if (resource == null) { synchronized(this){ if (resource==null) { resource = new Resource(); } } } return resource; } 该模式是对下面的代码改进: public synchron

  • 基于C++浮点数(float、double)类型数据比较与转换的详解

    浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法.所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入.但是这种设计的好处是可以在固定的长度上存储更大范围的数.1.将字符串转换为float.double过程存在精度损失,只是float.double各自损失的精度不相同而已std::string str="8.2&

  • short int、long、float、double使用问题说明

    short int 短整型 2个字节 值范围 -32768~32767 long 长整型 4个字节 值范围 -2147483648-2147483647 float 单精度 4个字节 值范围 -3.4*10(-38)-3.4*10(38) double 双精度 8个字节 值范围 -1.7*10(-308)-1.7*10(308) 在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数. 在DBF中,整数与浮点数都是以字符形式存储的.例如:-

  • 谈谈Java中整数类型(short int long)的存储方式

    在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解. 其他的三种类型如下: 1. 基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此方) 最大值:Short.MAX_VALUE=32767 (2的15次方-1) 2. 基本类型:int 二进制位数:32 包装类:java.lang.Integer 最小值:Integer.M

  • 浅谈python 四种数值类型(int,long,float,complex)

    Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下. 数字数据类型存储数值.他们是不可改变的数据类型,这意味着改变数字数据类型的结果,在一个新分配的对象的值. Number对象被创建,当你给他们指派一个值.例如: var1 = 1 var2 = 10 您也可以删除数字对象的参考,使用del语句. del语句的语法是: del var1[,var2[,var3[

  • MySQL中Decimal类型和Float Double的区别(详解)

    MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值. float,double类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理.这样我们在存取货币值的时候自然遇到问题,我的default值为:0.00而实际存储是0,同样我存取货币为12.00,实际存储是12. 幸好mysql提供

  • golang int 转float 强转和高精度转操作

    golang int 转float 方法一: 强转: 代码如下: import "fmt" func main() { var money int money = 1 fmt.Println(float64(money) / float64(100)) } 输出结果:0.01 方法二: 高精度转: 代码如下: import ( "fmt" "math/big" "strconv" ) func main() { totalAm

  • Go语言中int、float、string类型之间相互的转换

    目录 前言 整形转字符串 fmt.Sprintf 使用方法 strconv.Itoa 使用方法 strconv.FormatInt 入参 使用方法 浮点型转字符串 fmt.Sprintf 入参 使用方法 字符串转整形 strconv.Atoi 使用方法 strconv.ParseInt 使用方法 字符串转浮点型 strconv.ParseFloat 使用方法 总结 前言 Go 开发中经常设计到类型转换,本文就重点记录下 整形.浮点型和字符串类型互相转换的方法. 整形转字符串 fmt.Sprint

  • go中string、int、float相互转换的实现示例

    目录 string转其它 string --> int:将字符串13转换为int类型的数值13 string --> int64:将字符串13转换为int64(十进制) string --> float64.float32 int.int64转其它 int --> string int64 --> string float转其它 float --> string float64 --> int64(会有精度损失) 之前很多次用到的时候总会忘一些,这次记下来,后面再

  • QT中QByteArray与char、int、float之间的互相转化

    目录 1.问题来源 2.QByteArray与char*的转换 2.1 QByteArray 转 char* 2.2 char* 转 QByteArray 3.QByteArray与int 以及int[] 的转换 3.1. int 与 QByteArray 互转 3.2. int[] 与 QByteArray 互转 4.QByteArray与float 以及float[] 的转换 4.1. float[] 与 QByteArray 互转 4.2. float 与 QByteArray 互转 1.

  • Python中Timedelta转换为Int或Float方式

    目录 Timedelta转换为Int或Float方式 Pandas处理 Numpy处理 区别 timedelta.float 互转 Timedelta转换为Int或Float方式 Pandas处理 import pandas as pd dataSet['t'] =dataSet['time'].astype('timedelta64[D]').astype(float) dataSet['t'] .head() Numpy处理 import numpy as np dataSet['t']=(

  • JavaWeb学习笔记分享(必看篇)

    自定义列表 <dl></dl>:表示列表的范围 **在里面 <dt></dt>:上层内容 **在里面 <dd></dd>:下层内容 有序列表 <ol></ol>:有序列表的范围 --属性 type:设置排序方式,1(默认),a,i.. **在ol标签里面 <li>具体内容</li> 无序列表 <ul></ul>:无序列表的范围 --属性 type:circle(空

随机推荐