Using only 0's to the left of E forces no decimal point
import java.text.DecimalFormat; import java.text.NumberFormat; public class Main { public static void main(String[] argv) throws Exception { NumberFormat formatter = new DecimalFormat("0E0"); String s = formatter.format(-1234.567); System.out.println(s); } } // -1E3