2012-03-23 9 views
2

私はGeoServerで私FreeMarkerテンプレートからの出力きれい番号にしようとしている:私は?roundを取る場合、私は「-121.469166666667」のようなものを得るハッシュ文字列をフォーマット番号に変換しますか?

 <#list features as feature> 
     <#if attribute.name="lon" || attribute.name="lat"> 
       <td>${feature[attribute.name].value?round}</td> 
     <#else> 
       <td>${feature[attribute.name].value}</td> 
     </#if> 
    </#list> 

。私は単純にその数字を小数点以下4桁に丸めて書式化したいと考えています。

私はカップルの事を試してみた:

${feature[attribute.name].value?number} 
${(feature[attribute.name].value)?number.string("0.0000")} 

しかし、これらは訴える、それは?にハッシュ内の文字列を伝えるだけで、構文の問題だように私は感じている「期待ハッシュ。」実際には文字列のメソッドを実行しています...しかし、それは私を困惑させました。

+0

Try:$ {((feature [attribute.name] .value * 10000)?round)/ 10000} – stark

答えて

4

あなたは常に4つの小数たい場合:あなたは、最大4つの小数をしたい場合valueが文字列であるならば、?string("0.####")

?number一部のみが必要とされ、

${feature[attribute.name].value?string("0.0000")} 

を。その場合は[...].value?number?string("0.0000")と書いてください。 ?number.stringというようなことはないので、「期待されるハッシュ」というエラーメッセージが表示されます。

関連する問題