• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

3 Sigfigs on N1 Gauge

TurboCompound

Resource contributor
Messages
190
Hi all, I'm trying to write a three digit N1 string that shows one decimal place while the N1 is less than 100%, and 3 digits without a decimal at 100% or greater. Basically, I would like only 3 digits to show at all values by only allowing the decimal value to show below 100%. (This is how it works on the actual aircraft, according to the FCOM and several cockpit videos I've seen)

This is what I have in the <string> section of the element:
Code:
<String>%((A:Turb eng1 N1, percent) 100 &gt;)%{if}%((A:Turb eng1 N1, percent))%!03d%{else}%03.1f%</String>

The gauge works fine at 100% and above, showing three significant figures, but the rest of the logic fails. It's probably something obvious that I'm missing, but I can't place my finger on it.

Thanks
 
You're reading of (A:Turb eng1 N1, percent) for the value is nested in the {if} (>100) therefore not available to the {else} (<100).

This will work for sure -
Code:
<String>%((A:Turb eng1 N1, percent) 100 &gt;=)%{if}%((A:Turb eng1 N1, percent))%!03d!%{else}%((A:Turb eng1 N1, percent))%!04.1f!%{end}</String>


While this may (not tested), a little less redundant calling N1 percent -
Code:
<String>%((A:Turb eng1 N1, percent) s1 100 &gt;=)%{if}%(l1)%!03d!%{else}%(l1)%!04.1f!%{end}</String>

FIXED - reading N1, &gt;=, ! and 4.1f
 
Last edited:
Hi,

Your code lacks a ! character : %!03.1f to show properly. Besides, you need to compare 100 &gt;= instead for values 100 and greater.

Finally, though not strictly necessary, would be better to finish the sentence with %{end} as to comply with standards.

Tom
 
Tom, Thanks.. Modified my response above. Copy/paste and not enough coffee :coffee:, still had cobwebs after waking :confused:.
 
Hi Roman,

I'm sorry, I was actually answering the OP post, not yours. Not enough :coffee: for me as well...

Tom
 
Back
Top