Если число имеет целую и дробную части, то целая часть переводится описанным выше способом, а дробная - по следующему алгоритму:
1. дробная часть умножается на p;
2. целая часть результата (она может быть равна 0) является очередной цифрой в записи дробной части числа;
3. если дробная часть результата не равна 0, то, откинув целую часть (она становится равной нулю), переходим к шагу 1. Если же дробная часть равна 0, то алгоритм закончен.
Пример: переведем число 0, 25 в троичную систему счисления.
0,25×3 = 0, 75
0,75×3 = 2, 25
0,25×3 = 0, 75
0,75×3 = 2, 25
Выделенные цифры являются цифрами троичной записи: 0,2510 = 0,0202…3 = 0,(02)3
Полученное представление дроби в троичной системе счисления является
Таким образом, дробь, не являющаяся периодической в 10-ичной системе счисления, может оказаться периодической в другой системе, а перевод десятичной конечной дроби в p‑ичную систему счисления вовсе не обязательно приведет к получению конечной дроби. Поэтому умножать следует либо до получения нуля в дробной части, либо пока не будет достигнута нужная точность, т.е. получено требуемое количество цифр после запятой.
Перевод неправильной дроби следует делать в два этапа – перевести целую часть по правилу для целых чисел и дробную (вместе с нулем и десятичной запятой "0,") по правилу для дробей. Затем сложить полученные результаты или, проще, записать представление целой части, поставить десятичную запятую, и записать цифры дробной части.