Template code | Chunk output | |
---|---|---|
{!-- Some handy sprintf examples, in case your sprintf is rusty. -- Number casting to longs/floats is automatic. --} {$x:3.555559|sprintf(%.3f)} Three decimal places (float)<br/> {$x:3|sprintf(%05d)} Zero-pad five places (integer)<br/> {$x:3|sprintf(%-5d)} Left-justify, field-length 5 (int)<br/> {$x:3000000|sprintf(%,d)} Add thousands separators (integer)<br/> {$x:-3.99|sprintf(%d)} {$y:3.99|sprintf(%d)} Truncate to integer<br/> {$x:-3.5|sprintf(%.0f)} {$y:3.5|sprintf(%.0f)} Round to integer<br/> {$x:0.000031415|sprintf(%.3e)} scientific notation<br/> {$x:255|sprintf(%x)} lowercase hexadecimal<br/> {$x:255|sprintf(%X)} uppercase hexadecimal<br/> {$x:255|sprintf(%o)} octal<br/> "{$x:65|sprintf(%c)}" ascii character<br/> {$x:banana|sprintf(Throw the %s)}! Text may come before the format expr...<br/> {$x:banana|sprintf(Throw the %s!)} ...but never after.<br/> {$x:0xFF|sprintf(%d)} hex in, decimal out<br/> 0x{$x:128|sprintf(%X)} decimal in, hex out<br/> {$x:#00FF00|sprintf(#%06x)} HEX in (rgb #triple), hex out<br/> <p>%N.Ms min/max size of %s string output (truncate/pad to fit)</p> <pre> {$x:Swiss Army Knife|sprintf(%10.10s)} truncate {$x:Cloak|sprintf(%-10.10s)} pad to fit, left-justify {$x:Dagger|sprintf(%10.10s)} pad to fit, standard right-justify </pre> Theme theme = new Theme(); // fetch template from themes/example.chtml Chunk html = theme.makeChunk("example"); // Insert business logic here. // Normally you write a lot of html.set("this","that") calls here. StreamWriter out = getStreamWriter(); html.render( out ); ///// or, return the rendered template as a string // return html.toString(); |
|
3.556 Three decimal places (float)<br/> 00003 Zero-pad five places (integer)<br/> 3 Left-justify, field-length 5 (int)<br/> 3,000,000 Add thousands separators (integer)<br/> -3 3 Truncate to integer<br/> -4 4 Round to integer<br/> 3.141e-05 scientific notation<br/> ff lowercase hexadecimal<br/> FF uppercase hexadecimal<br/> 377 octal<br/> "A" ascii character<br/> Throw the banana! Text may come before the format expr...<br/> [Unknown format !: "Throw the %s!",banana] ...but never after.<br/> 255 hex in, decimal out<br/> 0x80 decimal in, hex out<br/> #00ff00 HEX in (rgb #triple), hex out<br/> <p>%N.Ms min/max size of %s string output (truncate/pad to fit)</p> <pre> Swiss Army truncate Cloak pad to fit, left-justify Dagger pad to fit, standard right-justify </pre>
3.556 Three decimal places (float)
00003 Zero-pad five places (integer) 3 Left-justify, field-length 5 (int) 3,000,000 Add thousands separators (integer) -3 3 Truncate to integer -4 4 Round to integer 3.141e-05 scientific notation ff lowercase hexadecimal FF uppercase hexadecimal 377 octal "A" ascii character Throw the banana! Text may come before the format expr... [Unknown format !: "Throw the %s!",banana] ...but never after. 255 hex in, decimal out 0x80 decimal in, hex out #00ff00 HEX in (rgb #triple), hex out %N.Ms min/max size of %s string output (truncate/pad to fit) Swiss Army truncate Cloak pad to fit, left-justify Dagger pad to fit, standard right-justify |