2014-09-17 3 views
-1

Я хочу рассчитать логарифм transmitter.getETXPOW(), что такое формат BigDecimal.Bigdecimal logarithm в Java

BigDecimal power = transmitter.getETXPOW(); 
BigDecimal eirp = 10 * Math.log(power); 

Я получил сообщение об ошибке, BigDecimal не могут быть преобразованы в double.

логарифм база 10.

+0

что такое передатчик.getETXPOW? –

+2

Вы передаете 'power' методу' Math.log() ', который принимает' double', а не 'BigDecimal'. –

+0

См. Http://stackoverflow.com/questions/739532/logarithm-of-a-bigdecimal?rq=1 – user1071777

ответ

1

Для преобразования двойного значения используйте BigDecimal класс doubleValue(). См. Демонстрацию

import java.math.*; 

public class BigDecimalDemo { 

    public static void main(String[] args) { 

     // create a BigDecimal object 
     BigDecimal bg; 

     // create a Double object 
     Double d; 

     bg=new BigDecimal("1234"); 

     // assign the converted value of bg to d 
     d=bg.doubleValue(); 

     String str = "Double value of " + bg + " is " + d; 

     // print d value 
     System.out.println(str); 
    } 
}