Этот вид преобразования на самом деле невероятно неинтуитивный в Java
Возьмем, например, следующую строку: «100.00»
C: простая стандартная библиотечная функция по крайней мере с 1971 года ( Откуда взялось имя `atoi`? )
int i = atoi(decimalstring);
Java: обязательный проход методом двойного (или Float), за которым следует cast
int i = (int)Double.parseDouble(decimalstring);
У Java наверняка есть некоторые странности в рукаве
Из-за комментария @ J_mie6 я использовал:
private S state;
private D dto;
Предполагалось, что это лучший вариант.