@abaplint/runtime
Version:
Transpiler - Runtime
39 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.frac = frac;
const types_1 = require("../types");
function frac(input) {
let num_in = undefined;
let ret = 0;
let pre = "0.";
if (typeof input.val === "number") {
num_in = input.val;
}
else if (typeof input.val === "string") {
num_in = parseFloat(input.val);
}
else if (input.val instanceof types_1.DecFloat34
|| input.val instanceof types_1.Float) {
num_in = input.val.getRaw();
}
else {
num_in = parseFloat(input.val.get().toString());
}
const numSplit = num_in.toString().split(".");
if (numSplit.length === 2) {
if (num_in < 0) {
pre = "-0.";
}
ret = parseFloat(pre + numSplit[1]);
}
if (input.val instanceof types_1.DecFloat34) {
return new types_1.DecFloat34().set(ret);
}
else if (input.val instanceof types_1.Float) {
return new types_1.Float().set(ret);
}
else {
return ret;
}
}
//# sourceMappingURL=frac.js.map