Как форматировать double в Salesforce Apex

Я хочу отображать двойное значение в формате, таком как «12.30», но отображать «12.0» в вершине Salesforce. Может кто-нибудь помочь мне?


person chandreshkoyani    schedule 22.11.2011    source источник


Ответы (3)


VisualForce использует соглашения java.text.MessageFormat для форматирования. Вот пример. Замените переменную MyDouble на свою.

<apex:outputText value="{0,number,0.00}" >
    <apex:param value="{!MyDouble}" />
</apex:outputText>
person Jeremy Ross    schedule 22.11.2011

Вы можете привести 12.30 к типу int, а затем вернуть его к значению double. Приведение его к int усекает дробь.

double i = 10.345;
system.debug('this is i '+ i);
system.debug('this is i after fixing '+ (double)(integer)i);

дает:

10:04:26.129 (129990000)|USER_DEBUG|[16]|DEBUG|this is i 10.345
10:04:26.130 (130080000)|USER_DEBUG|[17]|DEBUG|this is i after fixing 10.0
person PartOfTheOhana    schedule 30.04.2012

Когда вы создаете поле, мы должны определить его десятичные разряды. Попробуйте указать это десятичное число равным 2. Это сработает.

person Shivam Lalwani    schedule 15.11.2019