Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP Zahlenkonvertierung mit float

Mitglied: zoro17

zoro17 (Level 1) - Jetzt verbinden

01.02.2008, aktualisiert 02.02.2008, 8748 Aufrufe, 5 Kommentare

Hallo zusammen,
ich habe MySQL- Datenbank-Tabellen mit Feldern vom Typ decimal und char. Lese die Inhalte per
PHP aus. Soweit kein Problem.
Die Applikation, die die Weiterverarbeitung übernimmt, verlangt zwingend ein Komma (kein
Punkt) für die Zahlenwerte. Da ich auch Texte habe, kann ich nicht einfach alle Punkte in Kommata
per PHP umwandeln.
Eine Fallunterscheidung ist bei der Anzahl von Tabellen und Feldern leider unmöglich.
Deshalb versuche ich, den Wert per PHP mit (float) umzuwandeln. Geht das gut, tausche ich
den Punkt in Komma aus. Geht die Umwandlung schief, ist es ein Text, bei dem es nichts
umzuwandeln gibt.
Nun habe ich in den decimal Feldern auch eine 0 drin, die als 0.000000 gespeichert wurde.
Die Umwandlung (float)0.000000 verhält sich leider wie ein String, d.h. ich erkenne die Zahl hier
nicht.
Kennt jemand hier eine Lösung des Problems? Bietet sich für die Typenbestimmung etwas
anderes für float an?

Leider kan ich aus Performancegründen keine umfangreiche Fallunterscheidung machen, d.h.
mit max. 2 Bedingungen sollte ich wissen, ob ich es mit einem String oder mit einer Zahl zu tun
habe.
Danke im Voraus.
Gruss
Mitglied: Guenni
01.02.2008 um 22:36 Uhr
@zoro17

Hi,

is_double(variable) gibt am Bildschirm eine 1 aus(true), wenn variable
eine Zahl ist.

doubleval(variable) wandelt eine Variable vom Typ String, die eine
Dezimalzahl darstellt, in einen Typ Dezimalzahl um.

$var="0.12"; wäre eine Variable vom Typ String.

$var=doubleval($var);

echo is_double($var); gibt auch hier true aus.

Gruß
Günni
Bitte warten ..
Mitglied: zoro17
01.02.2008 um 23:31 Uhr
Hallo Günni,
vielen Dank für Deine Antwort. Werde es ausprobieren und Rückmeldung geben.
Gruss
Bitte warten ..
Mitglied: zoro17
02.02.2008 um 12:46 Uhr
Hallo Günni,
da ich noch PHP Neuling bin (bisher nur ASP), kam ich dank Deiner Hilfe zu den Funktionen, die
mir helfen. Ich glaube, is_numeric ist das, was ich brauche oder?
Hatte damit Erfolg.
Gruss
Bitte warten ..
Mitglied: Guenni
02.02.2008 um 19:04 Uhr
@zoro17

Hi,

Ich glaube, is_numeric ist das, was ich brauche oder?

$var="0.15"; // <-- Stringvariable

if(is_numeric($var)){
echo "JA";
}

Da bei diesem Beispiel ein JA ausgegeben wird, könnte es
auch das sein, was du brauchst.

Da ich aber letztendlich deine Tabellendefinition nicht kenne und
auch nicht deinen Abfrageterm, kann ich hier nur mutmaßen.

Probier's einfach aus, wenn es nicht geht, poste mal mehr Info.

Ach ja, was ich noch sagen(schreiben) wollte:

Eine Null im Format 0.000000 kann ich in meiner Datenbank nicht
ablegen. Da steht immer nur 0. Vielleicht kannst du mir sagen, wie du das
gemacht hast

Gruß
Günni
Bitte warten ..
Mitglied: zoro17
02.02.2008 um 21:22 Uhr
Hallo Günni,
zum Hintergrund meiner Frage:
Meine Applikation ist in MS Excel bzw. in Staroffice Calc integriert.
Diese Applikation setzt http Befehle (i.a SQL Befehle) ab.
Das Backoffice (Webdatenbank mit ASP bzw. PHP) antwortet mit html.
Bei einer Select-Anweisung kommt eine große html-Tabelle zurück,
die die Office Pakete clientseitig in ihre Zellen laden und weiterverarbeiten können.
Ist eine reelle Zahl in der Webdatenbank (z.b. 12.34), dann schmeißen
die Office Pakete das Komma weg. Kommt jedoch 12,34 an, klappts an.

Das serverseitige PHP Programm, das den Select entgegennimmt, behandelt
jedes Datenbankfeld gleich, egal ob string, int, float, datum...
Seine Aufgabe ist nur das Auflisten in Tabellenform.

Zu Deiner Frage: ich erweitere gerade serverseitig von SQL Server/
Windows zu MySql/Windows bzw. Linux. Um den SQL Server zu kopieren, habe ich
ein Programm geschrieben, das per SQL die MySQL Datenbank
aufbaut und füllt. Das Feld ist in MySQLwie im SQL Server als dec 15,6 definiert
und wird per SQL mit dem Wert 0.000000 gefüllt. So kommt die Zahl in MySQL.

Gruss
Bitte warten ..
Ähnliche Inhalte
PHP
PHP und XML Float und Double
gelöst Frage von chrisenPHP2 Kommentare

Hallo zusammen, ich habe ein Problem mit der Erstellung von XML Dateien mit PHP: Und zwar gibt das erstellte ...

PHP
PHP statements mit PHp erzeugen
gelöst Frage von LorderichPHP4 Kommentare

Hallo zusammen, ich habe eine Datei, in welcher per switch und case die Webseiten definiert werden, welche bei Aufruf ...

PHP
PHP Versionsproblem
gelöst Frage von HenerePHP3 Kommentare

Hallo zusammen, ich habe ein Motorradforum übernommen bzw. vor der Abschaltung bewahrt. Nun möchte ich es auf einen neuen ...

PHP
Verschlüsselung PHP
Frage von gamerffPHP4 Kommentare

Hallo Forum, da ich noch nicht so gut im PHP Programmieren bin benötige ich bitte eure Hilfe. Ich brauch ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 4 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 5 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 9 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Samba
Windows 10 Client in Samba-Domäne hinzufügen scheitert
Frage von diwaffmSamba31 Kommentare

Hi Leute, ich habe einen Samba Server in der Version 4.9.3 auf einer OpenSuse Maschine laufen. Damit sind momentan ...

Windows Systemdateien
Verknüpfungen nach Pfadwechsel
Frage von Hendrik2586Windows Systemdateien17 Kommentare

Guten Morgen meine lieben Kollegen und Kolleginnen, ich hab da mal eine Frage die Ihr sicher schon kennt. Es ...

Batch & Shell
CMD-Fenster nach Task schließen
gelöst Frage von Hyperlink.93Batch & Shell16 Kommentare

Hallo, ich habe ein Skript was über einen Task bei jeder User Anmeldung läuft. Der Task startet eine CMD ...

Netzwerkmanagement
Sehr langsame Netzverbindung in einem bestimmten Subnet
gelöst Frage von gabeBUNetzwerkmanagement15 Kommentare

Hallo Zusammen Ich habe das folgende Problem: Unser Netzwerk, dass aus verschiedenen Subnetzwerken aufgebaut ist, ist nicht in jedem ...