2014-09-25 4 views
-7

У меня есть значения с плавающей запятой в массиве ... Скажем, один из моих значений:Split Поплавок & Заменить Integer PHP

5.1234

Как SWAP целое число в обращении. Таким образом, в приведенном выше примере, я хотел бы поменять местами 5 с 8. Следовательно, новый номер будет:

8.1234

Это должна быть SWAP, а не математическое сложение как в 5.1234 + 3.

Мне в основном нужно разделить число по два, целое число (5) и значение поплавка после него (.1234), поменять 5 для 8 и перекомпилировать их, чтобы получить 8.1234.

Что является самым быстрым и изящным способом сделать это на PHP, поскольку я буду использовать это на большом количестве данных?

Чтобы уточнить, почему математика WHY не может использоваться: это потому, что это файл obj, который ищет заголовок библиотеки usemtl (совместимый с Mudbox), из которого он извлекает UV-пространство. Затем он соответствующим образом изменяет вершину U (или V). Проблема в том, что эти лица могут возникать не один раз. Это сделало бы операцию кумулятивной, а это НЕ. Все, что нужно сделать, это заменить целое число.

ответ

0
<?php 
    $number = 5.1234; 
    $array = explode(".", $number); 
    // $array[0] contains 5 
    $newNumber = 8; 
    $array[0] = $newNumber; 
    $finalString = $array[0] . '.' . $array[1]; 
    $finalFloat = floatval($finalString); // String to float 

    echo $finalFloat; 

?> 

Вот как я это сделаю. Это решение имеет значение, если вы уверены, что номер всегда будет отформатирована, как следовали:.

[номер] [десятичные]

Иначе вы не сможете всегда заменить номер перед точкой.

+0

Спасибо - не знал, что вы можете взорвать число, подобное строке из десятичной точки! :) – SuperSmoke

+0

На самом деле вы не можете использовать split(), поэтому ваш запрос понятен, я тоже чему-то научился! –

Смежные вопросы