new BigDecimal(String.valueOf(double)).setScale(yourScale, BigDecimal.ROUND_HALF_UP);
доставит вам BigDecimal
. Чтобы получить строку из нее, просто вызовите этот метод BigDecimal
toString
или метод toPlainString
для Java 5+ для строки простого формата.
Пример программы:
package trials;
import java.math.BigDecimal;
public class Trials {
public static void main(String[] args) {
int yourScale = 10;
System.out.println(BigDecimal.valueOf(0.42344534534553453453-0.42324534524553453453).setScale(yourScale, BigDecimal.ROUND_HALF_UP));
}
В отличие от латинских символов, каждая из которых имеет одно визуальное представление, каждый арабский персонаж может иметь много разных видов в зависимости от окружающих персонажей. Логические символы в арабской строке необходимо преобразовать в последовательность визуальных глифов, чтобы их можно было правильно отобразить. OpenGL не выполняет эту обработку для вас, поэтому вы видите обработанные логические символы без этой обработки.
Чтобы обойти это, вам нужно будет использовать библиотеку, такую как Uniscribe чтобы преобразовать логическую строку в визуальную строку, которую вы затем передаете OpenGL для рендеринга. Здесь есть несколько образцов .