In 1980-something I had what was, at the time, 'quite a flash pocket calculator' which had a 128 step programme capacity and allowed alphanumeric display. It cost a small fortune at the time and was, of course, more feeble in terms of computing power than that which exists in the most trivial piece of electronics these days. But I digress; I programmed this to work out spoke lengths and it was really useful. I also have a book (a thickish book with lots of tiny writing in it, that sort) with every spoke length for every build and every measured/known good rim size that I used prior to a certain date written into it.
These days I just use whichever online calculator I feel like using. They all contain 'databases' which are full of horrible errors, so I just enter the values that I have measured myself. (I wish that there was a feature whereby you could eliminate data added by idiots from that which you see but you can't have everything...) I presently quite like this one
https://leonard.io/edd/because it allows you to enter fractional spoke crossings and other bits and pieces like that. You can check that the maths is sensible in a previously unknown calculator by entering 'known good' dimensions and seeing that the spoke lengths are coming out correctly.
Calculators that do the rounding for you are to be avoided IMHO; you are better off with the exact length being calculated and then to do your own approximations to make available spoke lengths fit OK.
A Brucey top-tip; spokes are actually available in 1mm increments from some sources (although you may have to look hard to find them). In addition you can build a 'symmetric wheel' ( eg with all the leading spokes 'inside' and all the trailing spokes 'outside') with all the inside spokes 1 or 2mm shorter than all the outside spokes. The effect of this (which does not produce any detectable variation in spoke tension pattern BTW) is to allow the apparent precision of spoke length selection to be within 1mm (if 2mm increments are available) or 0.5mm (if 1mm increments are available).
[BTW If you think this is a terrible idea, I'd suggest that you examine a skew-built wheel (i.e. one where the inside spokes are leading on one side and trailing on the other) with some care; you will either find that the nipples are not on the spokes quite evenly or that there is a pattern in the spoke tensions that betrays a torsional preload in the hub barrel... then have another think...]
BTW Mavic (and many other rim makers) quite often quote NSD (nipple seat diameter) as if it were really ERD (effective rim diameter), without bothering to inform you that this is really the case. In the Lenni spoke calculator, entries in the rim database which come from manufacturer's data which has been entered thusly are usually noted as 'ERD = manufacturers seat diameter plus 3mm" or similar, which helps you to avoid screwing up in some cases at least. Still best to measure yourself, though.
I like Brandt's book too; not only do you learn how to build wheels but you find out
why which is, in essence, what separates useful knowledge from just learning by rote.
cheers