А как вам такой подход?
- Код: Выделить всё
Dim iMass() As Single = {23.018, 23.107, 23.274, 23.174}
For i As Integer = 0 To iMass.Length - 1
Console.Write(iMass(i))
iMass(i) *= 10
iMass(i) = Math.Truncate(iMass(i))
If (iMass(i) Mod 2) Then
iMass(i) += 1
End If
iMass(i) /= 10
Console.WriteLine(" --> " & iMass(i))
Next
Сначала переносим интересующую десятую к целым, помножив на 10. После отбрасываем все остальные числа после запятой, применив округление Math.Truncate().
Если число уже парное разделить его на 10, дабы вернуть к первоначальному порядку с запятой, если не парное, предварительно прибавляем единицу.
Результат работы программы23,018 --> 23
23,107 --> 23,2
23,274 --> 23,2
23,174 --> 23,2