Skip to content

Qt_script_frmamt

Paweł Salawa edited this page Jul 16, 2019 · 2 revisions

Definition

Language: Qt Script
Plugin for language: ScriptingQt
How to use: Create custom SQL function, set it to "scalar" type. Suggested name: fmtAmt
Function arguments Keep undefined
Function usage: SELECT fmtAmt(colName) from tableName
Description: Formats numbers like "123456789" into "123.456.789,00" or "23434,68" to "23.434,68".
Author: JrgMyr

Code

The code:

var t = arguments[0];
var lg = 17;

if (t > -9E11 && t < 1E12) {
    if (t >= 0.0)
        t += 0.005;
    else
        t -= 0.004;
    t = '                ' + t;
    var n = t.indexOf('.');

    if (n == -1)
        t = t + ',00'
    else {
        if (n == t.length - 1)
            t = t + '0';
        t = t.substr(0, n) + ',' + t.substr(n+1, 2);
    }

    t = t.substr(-lg);
    if (t.substr(lg-7, 1) >= '0')
        t = t.substr(1, lg-7) + '.' + t.substr(lg-6, 6);
    if (t.substr(lg-11, 1) >= '0')
        t = t.substr(1, lg-11) + '.' + t.substr(lg-10, 10);
    if (t.substr(lg-15, 1) >= '0')
        t = t.substr(1, lg-15) + '.' + t.substr(lg-14, 14);
}

return t;

Clone this wiki locally