Я не знаю, хорошо ли делать радио-кнопку с неуправляемым интерфейсом, но вы можете щелкнуть по ней с помощью jQuery в вашем component.ts.
Например, вы можете присвоить такой идентификатор, как 'radioButton', а затем просто добавить
$ ('# radioButton'). Click ()
blockquote> [ 114] на вашемngOnInit()
. Кнопка будет нажата так, как если бы она была нажата пользователем.
Похож на это:
String actualResult = MessageFormat.format("{0,number,#.##%}", fraction);
... работает.
Править: Видеть, как # и %, интерпретировало, посмотрите javadoc java.text. DecimalFormat.
РЕДАКТИРОВАНИЕ 2: И, да, это безопасно для интернационализации. Точка в строке формата интерпретируется как десятичный разделитель, не как точка hardcoded.:-)
Я думаю, что надлежащий способ сделать это следующий:
NumberFormat percentFormat = NumberFormat.getPercentInstance();
percentFormat.setMaximumFractionDigits(1);
String result = percentFormat.format(0.125);
Это также принимает интернализацию во внимание. Например, на моей машине с венгерской локалью я получил "12,5%" как ожидалось. Инициализация percentFormat как NumberFormat.getPercentInstance(Locale.US)
дает "12,5%", конечно.
Как насчет
DecimalFormat f = new DecimalFormat( "###.#" );
System.out.println( f.format( 12.5 ) );
Символ формата '#' не печатает 0 как отсутствующий. Так 12.5-> "12.5", 12.0-> "12", не "12.0". Вы могли, конечно, настроить свое средство форматирования с, например, "###,###.##", место hundreths только обнаружится при необходимости в точности.
Вы действительно понимаете это "expectedResult == actualResult"
всегда будет ложь, правильно?
Так или иначе лучшее решение, которое я могу найти, состоит в том, чтобы установить средство форматирования явно. Это - код, который я протестировал:
String expectedResult = "12.5%";
double fraction = 0.125;
MessageFormat fmt = new MessageFormat("{0,number,percent}");
NumberFormat nbFmt = NumberFormat.getPercentInstance();
nbFmt.setMaximumFractionDigits(1); // or 2, or however many you need
fmt.setFormatByArgumentIndex(0, nbFmt);
String actualResult = fmt.format(new Object[] {fraction});
assert expectedResult.equals(actualResult) : actualResult +" is getting rounded off";