question: public void testConstrDoubleDenormalized ( ) { double a = 2.274341322658976E-309 ; int aScale = 1073 ; BigInteger bA = new BigInteger ( "227434132265897633950269241702666687639731047124115603942986140264569528085692462493371029187342478828091760934014851133733918639492582043963243759464684978401240614084312038547315281016804838374623558434472007664427140169018817050565150914041833284370702366055678057809362286455237716100382057360123091641959140448783514464639706721250400288267372238950016114583259228262046633530468551311769574111763316146065958042194569102063373243372766692713192728878701004405568459288708477607744497502929764155046100964958011009313090462293046650352146796805866786767887226278836423536035611825593567576424943331337401071583562754098901412372708947790843318760718495117047155597276492717187936854356663665005157041552436478744491526494952982062613955349661409854888916015625" ) ; BigDecimal aNumber = new BigDecimal ( a ) ; assertEquals ( "incorrect value" , bA , aNumber . unscaledValue ( ) ) ; assertEquals ( "incorrect scale" , aScale , aNumber . scale ( ) ) ; }
target:  new BigDecimal(double value) when value is denormalized