本文整理汇总了Java中org.hsqldb.lib.java.JavaSystem.getUnscaledValue方法的典型用法代码示例。如果您正苦于以下问题:Java JavaSystem.getUnscaledValue方法的具体用法?Java JavaSystem.getUnscaledValue怎么用?Java JavaSystem.getUnscaledValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.hsqldb.lib.java.JavaSystem
的用法示例。
在下文中一共展示了JavaSystem.getUnscaledValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeDecimal
import org.hsqldb.lib.java.JavaSystem; //导入方法依赖的package包/类
protected void writeDecimal(BigDecimal o)
throws IOException, HsqlException {
int scale = o.scale();
BigInteger bigint = JavaSystem.getUnscaledValue(o);
byte[] bytearr = bigint.toByteArray();
writeByteArray(bytearr);
writeInt(scale);
}
示例2: writeDecimal
import org.hsqldb.lib.java.JavaSystem; //导入方法依赖的package包/类
protected void writeDecimal(BigDecimal o) {
int scale = o.scale();
BigInteger bigint = JavaSystem.getUnscaledValue(o);
byte[] bytearr = bigint.toByteArray();
writeByteArray(bytearr);
writeInt(scale);
}
示例3: enforceSize
import org.hsqldb.lib.java.JavaSystem; //导入方法依赖的package包/类
/**
* Check an object for type CHAR and VARCHAR and truncate/pad based on
* the size
*
* @param obj object to check
* @param type the object type
* @param size size to enforce
* @param check throw if too long
* @return the altered object if the right type, else the object
* passed in unaltered
* @throws HsqlException if data too long
*/
static Object enforceSize(Object obj, int type, int size, int scale,
boolean check) throws HsqlException {
if (obj == null) {
return obj;
}
if (size == 0 && type != Types.TIMESTAMP) {
return obj;
}
// todo: need to handle BINARY like this as well
switch (type) {
case Types.CHAR :
return checkChar((String) obj, size, check);
case Types.VARCHAR :
case Types.VARCHAR_IGNORECASE :
return checkVarchar((String) obj, size, check);
case Types.NUMERIC :
case Types.DECIMAL :
BigDecimal dec = (BigDecimal) obj;
dec = dec.setScale(scale, BigDecimal.ROUND_HALF_DOWN);
BigInteger big = JavaSystem.getUnscaledValue(dec);
int sign = big.signum() == -1 ? 1
: 0;
if (big.toString().length() - sign > size) {
throw Trace.error(Trace.STRING_DATA_TRUNCATION);
}
return dec;
case Types.TIMESTAMP :
if (size == 6) {
return obj;
}
Timestamp ts = (Timestamp) obj;
int nanos = ts.getNanos();
int divisor = tenPower[size];
int newNanos = (nanos / divisor) * divisor;
ts.setNanos(newNanos);
return ts;
default :
return obj;
}
}