Der Daten Import / Export Spezialist
Schauen Sie sich auch die verfügbaren allgemeinen Beispiele an evtl. kann Ihre Frage hiermit schon beantwortet werden: Hello World 1 / 2 / 3 , Zahlen in Zeichenketten formatieren , Einfache Wenn-Dann-Sonst Bedingung , Komplexe If-Then-ElseIf ... Bedingung , Daten filtern und gruppieren , Daten gruppieren und Werte über die Gruppierung summieren

NET Heater - Problem mit dem Code

Mehr
11 Jahre 8 Monate her #399 von BUG!
NET Heater - Problem mit dem Code wurde erstellt von BUG!
Hallo zusammen,

Ich habe ein Problem mit dem .NET Heater.

Ich benutze den .NET Heater um Berechnungen durchzuführen. Mein Code lautet wie folgt.
Code:
Public Function DoWork() As Object Dim b as Double b = InValues(0).GetDouble() Select b Case 0.01 TO 1.99 DoWork = (b * 1.36) * 5.50 Exit Select Case 2.00 TO 2.99 DoWork = (b * 1.36) * 5.40 Exit Select Case 3.00 TO 3.99 DoWork = (b * 1.36) * 4.75 Exit Select Case 4.00 TO 4.99 DoWork = (b * 1.36) * 4.75 Exit Select Case 5.00 TO 5.99 DoWork = (b * 1.36) * 4.00 Exit Select Case 6.00 TO 6.99 DoWork = (b * 1.36) * 3.75 Exit Select Case 7.00 TO 7.99 DoWork = (b * 1.36) * 3.50 Exit Select Case 8.00 TO 8.99 DoWork = (b * 1.36) * 3.20 Exit Select Case 9.00 TO 9.99 DoWork = (b * 1.36) * 3.00 Exit Select Case 10.00 TO 19.99 DoWork = (b * 1.36) * 2.80 Exit Select Case 20.00 TO 29.99 DoWork = (b * 1.36) * 1.75 Exit Select Case 30.00 TO 39.99 DoWork = (b * 1.36) * 1.75 Exit Select Case 40.00 TO 49.99 DoWork = (b * 1.36) * 1.50 Exit Select Case 50.00 TO 69.99 DoWork = (b * 1.36) * 1.50 Exit Select Case 70.00 TO 79.99 DoWork = (b * 1.36) * 1.50 Exit Select Case 80.00 TO 89.99 DoWork = (b * 1.36) * 1.48 Exit Select Case 90.00 TO 99.99 DoWork = (b * 1.36) * 1.47 Exit Select Case 100.00 TO 149.99 DoWork = (b * 1.36) * 1.46 Exit Select Case 150.00 TO 199.99 DoWork = (b * 1.36) * 1.35 Exit Select Case 200.00 TO 249.99 DoWork = (b * 1.36) * 1.44 Exit Select Case 250.00 TO 300.00 DoWork = (b * 1.36) * 1.25 Exit Select Case Else b = 100000 DoWork = b Exit Select End Select End Function

Problem:
Werte ab Hundert, Beipiel: 145 werden bei folgender CASE Abfrage verarbeitet:
Code:
Case 10.00 TO 19.99 DoWork = (b * 1.36) * 2.80 Exit Select

Werte bis hundert werden einwandfrei bearbeitet.

Der Eingangswert wird als Double (Dezimal) geliefert.

Irgendeine Idee woran das liegen könnte?

Readseite: MS SQL
Writeseite: TEXT
Flowheaterversion: 2.x

Vielen Dank

Gruß

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Jahre 8 Monate her #402 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: NET Heater - Problem mit dem Code
Ich kann keinen Fehler an Ihrem Skript feststellen. Schauen Sie sich mal das angepasste Beispiel im Anhang an. Hier habe ich lediglich den Return Wert ersetzt so dass besser ersichtlich ist welcher CASE Zweig eigentlich gezogen wird.

Das gleiche Skript habe ich auch gegen einen SQL Server auf der READ Seite mit dem SQL Datentyp DECIMAL (18,2) getestet. Funktioniert!

Welchen Datentyp verwenden Sie für das Feld auf der READ Seite? Evtl. ist das Feld bei Ihnen als Text (char/varchar) definiert und beim umwandeln geht was verloren? Dann stimmen Ihre Formateinstellungen auf der READ Seite nicht mit dem übergebenen Wert(en) überein.

Für eine weitere Analyse posten Sie bitte mal Ihre Definition sowie Beispieldaten für das Feld als CSV Datei. Hinweis: Die Daten Bitte als ZIP Archiv anfügen.

Anhang VB_DOT_NET_SELECT_CASE.zip wurde nicht gefunden.


gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.328 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2023 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en