public MachineTime<U> multipliedBy(double factor) {

        if (factor == 1.0) {
            return this;
        } else if (factor == 0.0) {
            if (this.scale == POSIX) {
                return cast(POSIX_ZERO);
            } else {
                return cast(UTC_ZERO);
            }
        } else if (Double.isFinite(factor)) {
            double len = this.toBigDecimal().doubleValue() * factor;
            MachineTime<?> mt;
            if (this.scale == POSIX) {
                mt = MachineTime.ofPosixSeconds(len);
            } else {
                mt = MachineTime.ofSISeconds(len);
            }
            return cast(mt);
        } else {
            throw new IllegalArgumentException("Not finite: " + factor);
        }

    }
public MachineTime < U > multipliedBy ( double factor ) { if ( factor == 1.0 ) { return this ; } else if ( factor == 0.0 ) { if ( this . scale == POSIX ) { return cast ( POSIX_ZERO ) ; } else { return cast ( UTC_ZERO ) ; } } else if ( Double . isFinite ( factor ) ) { double len = this . toBigDecimal ( ) . doubleValue ( ) * factor ; MachineTime < ? > mt ; if ( this . scale == POSIX ) { mt = MachineTime . ofPosixSeconds ( len ) ; } else { mt = MachineTime . ofSISeconds ( len ) ; } return cast ( mt ) ; } else { throw new IllegalArgumentException ( "Not finite: " + factor ) ; } }
/*[deutsch]
<p>Multipliziert diese Dauer mit dem angegebenen Dezimalfaktor. </p>

<p>Wenn mehr Kontrolle &uuml;ber das Rundungsverfahren gebraucht wird, gibt es die
Alternativen {@link #multipliedBy(long)} und {@link #dividedBy(long, RoundingMode)}. </p>

@param   factor  multiplicand
@return  changed copy of this duration
@throws  IllegalArgumentException if given factor is not a finite number