rounding of negative numbers
This commit is contained in:
Alexey Andreev 2015-05-12 19:27:11 +03:00
parent 2f0ca6059c
commit 7277696870
4 changed files with 16 additions and 3 deletions

View File

@ -115,7 +115,7 @@ class TAbstractStringBuilder extends TObject implements TSerializable, TCharSequ
} else { } else {
insertSpace(target, target + 1); insertSpace(target, target + 1);
} }
buffer[target++] = (char)('0' + value); buffer[target++] = TCharacter.forDigit(value, radix);
} else { } else {
int pos = 1; int pos = 1;
int sz = 1; int sz = 1;

View File

@ -93,11 +93,11 @@ public final class TMath extends TObject {
public static native double atan2(double y, double x); public static native double atan2(double y, double x);
public static int round(float a) { public static int round(float a) {
return (int)(a + 0.5f); return (int)(a + signum(a) * 0.5f);
} }
public static long round(double a) { public static long round(double a) {
return (long)(a + 0.5); return (long)(a + signum(a) * 0.5);
} }
@GeneratedBy(MathNativeGenerator.class) @GeneratedBy(MathNativeGenerator.class)

View File

@ -58,6 +58,11 @@ public class IntegerTest {
assertEquals("kona", Integer.toString(411787, 27)); assertEquals("kona", Integer.toString(411787, 27));
} }
@Test
public void writesSingleDigitInteger() {
assertEquals("a", Integer.toString(10, 16));
}
@Test @Test
public void decodes() { public void decodes() {
assertEquals(Integer.valueOf(123), Integer.decode("123")); assertEquals(Integer.valueOf(123), Integer.decode("123"));

View File

@ -54,4 +54,12 @@ public class MathTest {
public void getExponentComputed() { public void getExponentComputed() {
assertEquals(6, Math.getExponent(123.456)); assertEquals(6, Math.getExponent(123.456));
} }
@Test
public void roundWorks() {
assertEquals(1, Math.round(1.3));
assertEquals(2, Math.round(1.8));
assertEquals(-1, Math.round(-1.3));
assertEquals(-2, Math.round(-1.8));
}
} }