Anscheinend seid Ihr wirklich die Einzigen, die das (noch) so machen.
Denn wenn das jemand vernünftig getestet hätte, wäre ihm aufgefallen, dass nicht nur die Umsetzung eines Rückkehrwertes falsch ist, es ist auch schon die Übergabe eines Wertes mit Nachkommastellen falsch. (da sieht man dann im Debugger z.B. "0001.,2")
Darum die dringende Empfehlung, diesen Pfad umgehend zu verlassen und auf Datentypen umzustellen, die beide Programmiersprachen verstehen. Denn erwiesenermaßen schaffen es Fehler(*) bis in Produktions-Releases und jahrelang fällt es niemand vor Euch auf.

(*) im Sinne des Investitionsschutzes ist das ein Fehler.