Импортируйте текстовый файл с отрицательными числами, но минус - последний символ
Мне нужно импортировать текстовый файл в мою базу данных SQL, но отрицательные числа записываются с минусом в конце (например: 11.719,88- или 13.791,47-).
Когда я импортирую, отрицательные числа положительные. Все мои калькуляционные данные ложны...
В моей функции предварительной обработки (php) я пробовал много способов управлять ею, но безуспешно. Вот моя функция:
$char = $row['column_numbers'];
$char_array = str_split($char);
$last_char = end($char_array);
if($last_char == '-'){
$char_array = preg_replace('/[-]/', '', $char_array);
$char_array = '-'.$char_array;
return $char_array;
}else{
return $char_array;
}
$row["column_numbers"] = $char_array;
И у меня также есть это сообщение php: обнаружена ошибка PHP. Серьезность: Уведомление: преобразование массива в строку.
Что я делаю не так? Спасибо за помощь.
1 ответ
Решение
Как уже было сказано, здесь достаточно строковых функций; конкретно
substr()
и
rtrim()
пригодится:
substr($col, -1)
дает нам последний символ и
rtrim($col, '-')
помогает удалить последний символ.
function fixNegatives($col) {
if(substr($col, -1) == '-') {
return '-' . rtrim($col, '-');
}else{
return $col;
}
}