All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jpattern.util.NumberUtil Maven / Gradle / Ivy

The newest version!
package com.jpattern.util;


import java.math.BigDecimal;

/**
 * 
 * @author Francesco Cina'
 *
 * 20/lug/2010
 */
public abstract class NumberUtil {

	/**
	 * Effettua il parsing di una String in un tipo BigDecimal. L'utilizzo del BigDecimal evita i
	 * tipici errori di arrotondamento dovuti all'utilizzo del tipo double.
	 * Il separatore decimale della stringa in ingresso puo' essere indipendentemente "." oppure ","
	 * @param value la stringa da analizzare
	 * @param decimalPositions le posizioni decimali desiderate
	 * @return la stringa convertita in BigDecimal
	 */
	public static BigDecimal toBigDecimal(String value, int decimalPositions) throws RuntimeException {
		// il separatore deve essere il '.', sostituisco una eventuale ','
		BigDecimal numero = new BigDecimal(value.replace(',', '.') );
		numero = numero.setScale(decimalPositions, BigDecimal.ROUND_HALF_UP);
		return numero;
	}

	/**
	 * Effettua il parsing di una String in un tipo BigDecimal. L'utilizzo del BigDecimal evita i
	 * tipici errori di arrotondamento dovuti all'utilizzo del tipo double.
	 * Il separatore decimale della stringa in ingresso puo' essere indipendentemente "." oppure ",".
	 * Se il parsing non riesce viene restituito il defaultValue;
	 * @param value la stringa da analizzare
	 * @param decimalPositions le posizioni decimali desiderate
	 * @return la stringa convertita in BigDecimal o il defaultValue
	 */
	public static BigDecimal toBigDecimal(String value, int decimalPositions, BigDecimal defaultValue) {
		try {
			return toBigDecimal(value, decimalPositions);
		} catch (final RuntimeException e) {
			return defaultValue;
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy