在本教程中,我们将学习如何转换BigDecimal和String,同时我们将把String转换为BigDecimal。
BigDecimal类提供了算术、比例操作、四舍五入、比较、散列和格式转换等操作。toString()
方法提供了一个BigDecimal的典型表示。
在本教程中,我们创建了带有两个通用方法的StringConverter<>
通用接口。这个接口可以用来将任何封装类(Integer, Short, Double等)转换为String,反之亦然。
例如--在本教程中,我们要转换BigDecimal和String,所以我们将创建BigDecimalStringConverter
类,实现StringConverter<>
接口方法,同样,如果你想将Double转换为String,那么创建DoubleStringConverter
类并实现StringConverter<>
接口方法。
在这里,我们创建一个通用的StringConverter<>
接口。这个接口声明了以下的通用方法。
toString(T object) - 将提供的对象转换为其字符串形式。
T fromString(String string)- 将提供的字符串转换为由特定转换器定义的对象。
package net.javaguides.string.conversion;
/**
* Converter defines conversion behavior between strings and objects.
* The type of objects and formats of strings are defined by the subclasses
* of Converter.
*/
public interface StringConverter<T> {
/**
* Converts the object provided into its string form.
* @return a string representation of the object passed in.
*/
public abstract String toString(T object);
/**
* Converts the string provided into an object defined by the specific converter.
* @return an object representation of the string passed in.
*/
public abstract T fromString(String string);
}
让我们创建一个BigDecimalStringConverter
类,将BigDecimal和String以及String转换为BigDecimal回来。
package net.javaguides.string.conversion;
import java.math.BigDecimal;
/**
* Conversion between BigDecimal and String in Java
* @author Ramesh Fadatare
*
*/
public class BigDecimalStringConverter implements StringConverter<BigDecimal> {
@Override
public BigDecimal fromString(String value) {
// If the specified value is null or zero-length, return null
if (value == null) {
return null;
}
value = value.trim();
if (value.length() < 1) {
return null;
}
return new BigDecimal(value);
}
@Override
public String toString(BigDecimal value) {
// If the specified value is null, return a zero-length String
if (value == null) {
return "";
}
return ((BigDecimal) value).toString();
}
public static void main(String[] args) {
String str = "10.10";
BigDecimalStringConverter bigDecimalStringConverter = new BigDecimalStringConverter();
BigDecimal decimal = bigDecimalStringConverter.fromString(str);
System.out.println("convert string to decimal number -> " + decimal);
String decimalStr = bigDecimalStringConverter.toString(decimal);
System.out.println("convert decimal number to string -> " + decimalStr);
}
}
输出。
convert string to decimal number -> 10.10
convert decimal number to string -> 10.10
在上面这个例子中,我们用以下方法将String转换为BigDecimal。
@Override
public BigDecimal fromString(String value) {
// If the specified value is null or zero-length, return null
if (value == null) {
return null;
}
value = value.trim();
if (value.length() < 1) {
return null;
}
return new BigDecimal(value);
}
在上面这个例子中,我们用下面的方法将BigDecimal转换为String。
@Override
public String toString(BigDecimal value) {
// If the specified value is null, return a zero-length String
if (value == null) {
return "";
}
return ((BigDecimal) value).toString();
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2019/07/java-conversion-between-bigdecimal-and-string-tutorial.html
内容来源于网络,如有侵权,请联系作者删除!