使用String类型小数值转换为Long类型

目录
  • String类型小数值转为Long类型
    • 解决方案如下
  • String类型转int,转long
    • 转int
    • 转long

String类型小数值转为Long类型

数值分为小数和整数,当传入的类型为String,需要获取的类型为Long,这时候直接通过Long.valueOf()可以实现,但是当传入的String类型是小数值得时候(如传入的是金额数值:"29.90",注意:金额数值经常进行乘以100后再往下执行业务逻辑:)就会出现

异常java.lang.NumberFormatException: For input string: "29.90"

解决方案如下

对于多位小数的数值转化为long的时候需要先将其进行转换成整数过渡处理

        String orderAmount = "29.90";
        Number num = Float.parseFloat(orderAmount)*100;
        int oamount = num.intValue();
        long _cost = Long.valueOf(oamount);

String类型转int,转long

String str1 = "123";
String str2 = "123.0";

不带小数:可直接可转为int

int a = Integer.parseInt(str);

带小数,直接转为int会报数字格式化异常,需要先转为double,后转为int

转int

int b = (int)Double.parseDouble(str);

转long

long c = (long)(Double.parseDouble(str));

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java 数据类型及类型转换的互相转换实例代码

    一.基本数据类型 java的数据类型可以分为两大类:基本类型和复合类型. 基本类型:整型(int,short,long,byte).浮点型(float,double).布尔型(boolean).和字符型(char) 复合类型:数组,类,接口 1.整型 各种整型数据所占空间及数的范围 数据类型 所占内存空间/位 数的范围 byte 8 -128~127 short 16 -32768~32767 int 32 -2^31~2^31-1 long 64 -2^63~2^63-1 整型以补码的形式存放

  • Java数据类型转换实例解析

    这篇文章主要介绍了Java数据类型转换实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 数据类型转换 Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换. 数据类型的转换分类 自动类型转换 自动类型转换(隐式):将 取值范围小的类型自动提升为取值范围大的类型 . 转换规则 :范围小的类型向范围大的类型提升, byte.short.char 运算时直接提升为 int . byte.short.

  • 浅谈Java数值类型的转换与强制转换

    数值类型之间的转换 6个实心箭头箭头表示无信息丢失的转换; 3个虚箭头表示可能有精度损失的转换. 当使用上面两个数值进行二元操作时,先要将两个操作数转换为同一类型,然后再进行计算. 规则:`两个数中小类型的值将自动转换为大类型的值. 小转大可以,但是大转小会损失精度,则需要强制转换. 强制类型转换 语法格式 在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名. 例: double m = 9.99; int n = (int)m; 其中n的值为9. 强制类型转换通过截断小数部分将浮点值转换

  • 解决BigDecimal转long丢失精度的问题

    我就废话不多说了,大家还是直接看代码吧~ public static void main(String[] args) { BigDecimal asdBigDecimal = new BigDecimal(56.33347); long sad = asdBigDecimal.longValue(); double asda = asdBigDecimal.doubleValue(); System.out.println(sad); System.out.println(asda); } 运

  • 使用String类型小数值转换为Long类型

    目录 String类型小数值转为Long类型 解决方案如下 String类型转int,转long 转int 转long String类型小数值转为Long类型 数值分为小数和整数,当传入的类型为String,需要获取的类型为Long,这时候直接通过Long.valueOf()可以实现,但是当传入的String类型是小数值得时候(如传入的是金额数值:"29.90",注意:金额数值经常进行乘以100后再往下执行业务逻辑:)就会出现 异常java.lang.NumberFormatExcep

  • java判断String类型是否能转换为int的方法

    使用正则表达式,效率较高 public boolean canParseInt(String str){ if(str == null){ //验证是否为空 return false; } return str.matches("\\d+"); //使用正则表达式判断该字符串是否为数字,第一个\是转义符,\d+表示匹配1个或 //多个连续数字,"+"和"*"类似,"*"表示0个或多个 } 以上这篇java判断String类型是

  • 浅谈String类型如何转换为time类型存进数据库

    目录 String转换为time存进数据库 这里就列举一个例子 java里面的类型是string类型 我使用的是java提供的传统的jdbc接口连接数据库 String类型的数字转换为时间日期格式 问题描述 String转换为time存进数据库 很久没试过将String类型转换并存进数据库中的date类型的字段,今天刚好遇到并解决了这个小问题,故写下来加深印象. 平时我们一般将数据库里面关于时间的处理字段设置为char之类的字符型,这样的好处是便于读取和存入,省掉了转换类型的麻烦. 但有时也会需

  • 将string类型的数据类型转换为spark rdd时报错的解决方法

    在将string类型的数据类型转换为spark rdd时,一直报这个错,StructType can not accept object %r in type %s" % (obj, type(obj))) . . . s = str(tree) y = str(YESTERDAY) list0 = [s, y] outRes = self.sc.parallelize(list0) df_tree = outRes.toDF("model: string, dt: string&qu

  • C++中string转换为char*类型返回后乱码问题解决

    问题来源: 在写二叉树序列化与反序列化时发现序列化函数为char* Serialize1(TreeNode *root)  其函数返回类型为char*,但是我在实现的过程中为了更方便的操作添加字符串使用的是C++中string类型的变量,这就导致我最后得到的结果res是string类型,若是要返回需要转化为char *类型.而等我将string类型转为char*后返回在主函数中就成了乱码. 先直接说最后的解决办法: 第一种:定义一个char数组,数组长度为stringlength+1,将stri

  • java 实现将Object类型转换为int类型

    如何将Object类型转换为int类型 Object object = null; try { Integer.parseInt(object.toString()); } catch (NumberFormatException e) {} 也可以先判定一下是否是Integer //可以先判定一下是否是Integer Object object = "111"; if (object instanceof Integer) { Integer.parseInt(object.toSt

  • java中long数据类型转换为int类型

    由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参考: 一.强制类型转换 long ll = 300000; int ii = (int)ll; 二.调用intValue()方法 long ll = 300000; int ii= new Long(ll).intValue(); 三.先把long转换成字符串String,然后在转行成Integer long ll = 300000; i

  • pandas 取出表中一列数据所有的值并转换为array类型的方法

    如下所示: # -*-coding: utf-8 -*- import pandas as pd #读取csv文件 df=pd.read_csv('A_2+20+DoW+VC.csv') #求'ave_time'的平均值 aveTime=df['ave_time'].mean() #把ave_time这列的缺失值进进行填充,填充的方法是按这一列的平均值进行填充 df2=df.fillna(aveTime) #取表中的第3列的所有值 col=df2.iloc[:,2] #取表中的第3列的所有值 a

  • 易语言将其它类型的数据转换为双精度小数型

    到数值命令 英文命令:val 操作系统支持:Windows.Linux    所属类别:数值转换 返回包含于文本内的数值,文本中是一个适当类型的数值,支持全角书写方式.本命令也可用作将其他类型的数据转换为双精度小数. 语法:  双精度小数型  到数值 (待转换的文本或数值) 例程 说明 编辑框中的内容为文本型,如果需要计算编辑框中的内容或者把其它非数值型数据放入到数值型数据中,就需要用到数值命令把这些数据转换到数值型. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或

  • Python3中bytes类型转换为str类型

    Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然). 问题背景 基于URL解析报文的时候,URL链接出现str类型+bytes类型是报错TypeError,如何解决这个问题呢? 解决方案 方法一:利用str函数 方法二:利用b

随机推荐