2016-09-10 5 views
0

I nunjucks Vorlage bin mit:den Betrag auf 2 Dezimalstellen

<td class="alignright">{{ item.amount/100 }}</td> 

10050/100 verwenden, erhalte ich 100.5, will ich es haben wie 100.50.

Frage:

How do I convert the amount to 2 decimals, after divided by 100? 
+0

Verwendung toFixed() http://www.w3schools.com/jsref/jsref_tofixed .asp – Borna

+0

@Borna, du meinst auf 2 dezimal zu fixieren, bevor du es an die Vorlage übergibst? – Alvin

+0

nein, mit jquery, warten, ich mache eine Demo für Sie ... hoffe, es wird Ihnen helfen – Borna

Antwort

1
env = nunjucks.configure(...); 
... 
env.addFilter('fixed', function(num, length) { 
    return num.toFixed(length || 2); 
}); 

<td class="alignright">{{ item.amount/100 | fixed }}</td> <= need parenthesis! 

Arbeitete Beispiel

var nunjucks = require('nunjucks'); 
var env = nunjucks.configure(); 

env.addFilter('fixed', function(num, length) { 
    return num.toFixed(2 || length); 
}); 

env.addGlobal('fixed', function(num, length) { 
    return num.toFixed(2 || length); 
}) 

var html = env.renderString(
    'Filter: {{ (totalAmt/100) | fixed }}, GlobalFunc: {{ fixed(totalAmt/100) }}', 
    { totalAmt: 500030 }); 
console.log(html); 
+0

Ich habe Ihre Methode versucht: env = nunjucks.configure(); env.addFilter ('fixed', Funktion (num, length) { return num.toFixed (Länge || 2); }); var html = nunjucks.renderString ('{{totalAmt/100 | fixed}}', {totalAmt: 500030}) ;, aber es gibt mir 5000.3 – Alvin

+0

Versuch 'env.renderString (...) 'anstatt' nunjucks .renderString' –

+0

ändere ich das, es ist immer noch dasselbe. – Alvin

Verwandte Themen