在java开发过程中经常碰到数据类型的问题

过程|数据|数据类型|问题

(1)在把int或double转换成BigDecimal时位数就会相应的增长,为了解决这个问题,可以将double获long型通过自写函数round进行四舍五入
    后,在转换成String,然后通过new BigDecimal()转换过来
   
    例如:fosum = new BigDecimal(String.&#118alueOf(round(uo1sum.double&#118alue() + uo2sum.double&#118alue(),3)))
 
  (2)将时间转换成字符
        java.util.Date date = new java.util.Date(databean.getTyrq().getTime());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        tyrq = sdf.format(date);

  (3)将字符串转换成时间Timestamp类型
       public  java.sql.Timestamp strToTimestamp(String str){
           java.sql.Timestamp sdate = null;

    if(str!=null){

      if(str.trim().length()==8){
        str = str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8);

      }
    try{
     DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT,java.util.Locale.CHINA);
     java.util.Date date = df.parse(str);
     sdate = new java.sql.Timestamp(date.getTime());
    }catch(Exception e){
      e.printStackTrace();
    }

}
  return sdate;
}
 
  (4)将double型进行四舍五入
     public  double round(double v,int scale){

       if(scale<0){

           throw new IllegalArgumentException("The scale must be a positive integer or zero");

       }

       BigDecimal b = new BigDecimal(Double.toString(v));

       BigDecimal one = new BigDecimal("1");

       return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).double&#118alue();

   }
  (5)将int转换成byte[]
     
    public byte[] InttoByteArray(int num){
       int temp = num;
       byte[] b = new byte[6];
      for(int i=b.length;i>-1;i--){
      b[i] = new Integer(temp&0xff).byte&#118alue();
        temp = temp >> 8;
      }
     return b;
    }
 
  (6)将int转换成byte
        int s=0;
        byte b = (byte)s;

时间: 2024-10-08 22:44:26

在java开发过程中经常碰到数据类型的问题的相关文章

Java开发过程中经常碰到数据类型的问题

(1)在把int或double转换成BigDecimal时位数就会相应的增长,为了解决这个问题,可以将double获long型通过自写函数round进行四舍五入    后,在转换成String,然后通过new BigDecimal()转换过来        例如:fosum = new BigDecimal(String.v        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");        tyrq = s

移动-大家在开发过程中如何碰到PM提出的需求明显不合理,怎么解决?

问题描述 大家在开发过程中如何碰到PM提出的需求明显不合理,怎么解决? 对我们做移动开发的应该都碰到过这个问题,产品经理不断改需求,有些需求甚至是明显不合理的,这个问题是怎么解决的?应该如何与产品人员沟通?(好像非移动开发也经常有这样的情况) 大家都来说说是怎么解决这个问题的? 解决方案 我觉得这事没有什么可质疑的. 产品经理毕竟是专业的,对产品的设计也是从用户体验上讲的. 当然,如果产品上的设计到开发这里需要对架构进行大调的话,应该和产品经理商量一个中间方案来. 不排除一些产品经理确实很外行,

在 Java 开发过程中支持双向字符集语言(BiDi)

BiDi 是什么 W3C 对双向字符集语言(即 BiDi)进行了如下的定义: 双向字符集语言通常是指文字可以从左到右(LTR)和从右到左(RTL)双向书写的文字. 例如,阿拉伯和希伯来语言的文字书写通常是从右到左,但是其中的其它字符集(例如拉丁 文字)依然保持从左到右的格式.当然其它的语言文字,例如英文,如果包含阿拉伯或者希 伯来文字摘要的话,也可以是双向书写的.通常将主方向称为全局方向. 对于介绍一种的新的知识或者技术,笔者通常习惯于从"what. why.who.how"几个方 面

Java语言入门教程(四):Java语言中的数据类型及String类

Java类中的主要组成部分就是数据成员和方法成员.而数据成员的声明必须指定其数 据类型,方法成员的声明也必须指定其返回值类型,如果方法有形式参数,也必须指定其 参数类型.因此,对于初学者来说,了解Java语言的数据类型是非常必要的. Java语言中的数据类型可以分为两大类,即基本数据类型(也有人称为原始类型)和 引用类型(也有人称类类型,对象类型等).Java语言是面向对象的语言,大多数数据都 是引用类型,基本类型主要为了进行数学运算.下面对这两种类型分别进行介绍. 1.基本数据类型: Java

java 继承-一个java继承中碰到的菜鸟问题

问题描述 一个java继承中碰到的菜鸟问题 public class Parent { public String a; public String b; public Parent getA(){ System.out.println("PPPPPPPPP"); return this; } public void Test(){ System.out.println(getA().a); System.out.println(getA().b); } } public class

开放-java开发中,一般涉及到金钱计算的时候用什么数据类型?

问题描述 java开发中,一般涉及到金钱计算的时候用什么数据类型? java开发中,一般涉及到金钱计算的时候用什么数据类型?精度尽量高 解决方案 BigDecimal类把数字封装再进行运算就可以精确运算 解决方案二: 其实用integer或者long整体放大100倍就可以了.精确到1分钱.最大可以表示4200万(对于int),至于long,表示的更是天文数字了. 解决方案三: BigDecimal一般用在货币计算 解决方案四: BigDecimal 解决方案五: BigDecimal可以表示任意

Java Web开发过程中隐藏很深的问题

Java Web开发过程中隐藏很深的问题 (1)企业状态不对 企业的状态由订单状态决定,但是同一个应用,一个企业可以有多个订单, 那么在有多个订单的情况下,企业的状态由那个订单决定呢? 答:由 最新的订单决定. 但是代码逻辑不对:   应该使用有序的for循环:     (2)org.json.JSONObject的getString 方法可能抛出异常 Java代码   //记录分享人               String sharer=appInfoObject.getString("sh

java常量-java中常量的数据类型不单可以是基本数据类型,也可以引用数据类型,这种说法对吗

问题描述 java中常量的数据类型不单可以是基本数据类型,也可以引用数据类型,这种说法对吗 java中常量的数据类型不单可以是基本数据类型,也可以引用数据类型,这种说法对吗 解决方案 对 常量是程序中一些不会被改变的数据 解决方案二: 可以啊,引用类型一旦定义为final常亮后,就不能再重新指向其他的对象了.

Java语言中的参数传递

在实际的开发过程中,方法调用是一种很常见的操作,在方法调用中,关于参数的处理可能很多进行实际开发的程序员都不一定理解的很清楚,下面系统的介绍一下Java语言中参数传递的规则,以及和参数传递相关的一些问题. 和其它程序设计语言类似,Java语言的参数传递也分为两种: 1.按值传递(by value) 适用范围:8种基本数据类型.String对象 特点:在内存中复制一份数据,把复制后的数据传递到方法内部 作用:在方法内部改变参数的值,外部数据不会跟着发生改变 2.按址传递(by address) 适